Expand description
Infrastructure for workers, which are agents that mostly communicate via mesh message passing. These provide a way for splitting up your program into separable components, each of which can optionally run in a separate process.
§Overview
A worker is a self-contained component that:
- Is created from
Parameters(Worker::new) - Runs a main loop consuming
WorkerRpcmessages (Worker::run) - Can be saved and restarted from
State(Worker::restart)
Workers are registered at compile time with register_workers! and
launched at runtime through a WorkerHost. The host can run workers
in-process (on a new thread) or in a child process via mesh_process.
§Entry points
Workertrait — define a worker’s parameters, state, and behavior.worker_host()— create a(WorkerHost, WorkerHostRunner)pair.register_workers!— register worker types for dynamic lookup by name.RegisteredWorkers— factory that resolves worker names to builders, using the compile-time registry.WorkerHandle— handle to a running worker, supporting stop, restart, inspect, and lifetime events.
Macros§
- register_
workers - Registers workers for use with
RegisteredWorkers. - runnable_
workers - Generates a type that defines the set of workers that can be run by a worker host. Generate a type to that can be used to match a requested worker name and run it.
Structs§
- Registered
Workers - A worker factory that can build any worker built with
register_workers. - Worker
Builder - A builder for a worker.
- Worker
Handle - Represents a running
Workerinstance providing the ability to restart, stop or wait for exit. To launch a worker and get a handle, useWorkerHost::launch_worker - Worker
Host - A handle used to launch workers on a host.
- Worker
Host Runner - A runner returned by
worker_host(). Used to handle worker launch requests. - Worker
Id - A unique identifier for a worker, used to specify which worker to launch.
Enums§
- Worker
Event - A lifetime event for a worker.
- Worker
Rpc - Common requests for workers.
Traits§
- Worker
- Trait implemented by workers.
- Worker
Factory - Trait implemented by a type that can dispatch requests to a worker.
Functions§
- launch_
local_ worker - Launches a worker locally.
- worker_
host - Returns a new
WorkerHost,WorkerHostRunnerpair.