Chuyển tới nội dung chính

beam_worker

beam_worker runs Riverbeam tasks by name and serves them from NATS.

beam_worker = { path = "../riverbeam/crates/beam_worker" }
ItemRole
BeamWorkernew(Arc<RiverBeam>), handle_task(task, payload), invoke_agent(request), on_startup(), on_shutdown(), beam(), queue_name()
WorkerTaskinvoke_agent, ingest_knowledge_document, delete_knowledge_document, remember_memory, forget_memory
NatsWorkerServerconnect(url, worker, tracker), new(client, worker, tracker), with_prefix, with_concurrency, subject(), serve()
DEFAULT_TASK_PREFIX"beam"; the server subscribes to beam.task.*
DEFAULT_CONCURRENCY16 tasks at once

The tracker is a riverbase_task TrackerStore, so every task is recorded as a job.

There are no feature flags.

Task payloads, a full worker process, and the current limitations are in Worker and API.