Built-in Workers
| Worker | Provides | Config key |
|---|---|---|
| HTTP | HTTP trigger type, request/response handling | rest_api |
| Queue | Async message processing with retries | queue |
| Cron | Scheduled task execution | cron |
| State | Key-value state storage with atomic updates | state |
| Stream | Real-time data streams with WebSocket push | stream |
| PubSub | Publish/subscribe messaging | pubsub |
| Observability | Structured logging, tracing, and metrics | observability |
| Exec | Shell command execution | exec |
| Bridge | WebSocket bridge for SDK connections | bridge |
How Workers Work
A Worker has two responsibilities:-
Register trigger types: A Worker can introduce new ways to invoke Functions. For example, the HTTP worker registers the
httptrigger type, and the Cron worker registers thecrontrigger type. -
Supply Context: A Worker can add capabilities to the Context object that gets passed to every Function. For example, the State worker adds
state::get,state::set, and other state operations.
config.yaml (the engine default). Use -c iii-config.yaml to specify a custom path:
You can build your own Workers to integrate any service or infrastructure. See Custom Workers for a detailed guide.