Adding workers
Every worker is an independent host running the worker stack. Add as many as you need; each processor in a workflow chooses one of them.
Steps
- On the new host, clone
maize-processing-engine-worker(or usemaize-mvp→./setup.sh→ option 3 on a host with the MVP checkout). - In its
.envset:WORKER_NAME— a unique name; it is also the Celery queue,AIRFLOW_IP— the Airflow host,HOST_IP— this host,WME_SERVICE_TOKEN— the same value as the backend,AIRFLOW_WEB_SECRET_KEY,AIRFLOW_FERNET_KEY— the same values as Airflow.
mkdir -p dags logs plugins processors security && docker compose up -d --build- Check it appears in Flower (
http://AIRFLOW_IP:5555). - In the editor: Warehouse → Workers → Provision workers from Celery, select it, Import selected.
- Wait until each processor definition's Provisioning status shows the new worker as SUCCESS.
- Assign processors to it through their Worker Station field.
Network checklist
| From | To | Port |
|---|---|---|
| New worker | Airflow host | 6379 (Redis), 5432 (Postgres) |
| Backend | New worker | 8090 (agent) |
| New worker | Your data infrastructure | Kafka, Elasticsearch, … as used by processors |
| New worker | GitHub / registries | 443 |
Removing a worker
- Move its processors to another Worker Station and redeploy those workflows.
- Delete the worker in Warehouse → Workers.
- On the host:
docker compose down.