Workers
使用パターンとデプロイ構成については、Workersを参照してください。
環境変数環境変数への直接リンク
MASTRA_WORKERSmastra_workersへの直接リンク
現在のプロセスで起動する workers を制御します。
| 値 | 動作 |
|---|---|
| (未設定) | 設定に基づいてデフォルトの workers を自動作成 |
"false" | worker のイベント処理を無効にします。プロセスは HTTP リクエストを処理し、イベントを消費せずに PubSub へイベント(Workflow の開始など)を発行できます。 |
"orchestration" | orchestration worker のみを起動 |
"scheduler" | scheduler worker のみを起動 |
"backgroundTasks" | background task worker のみを起動 |
"orchestration,scheduler" | 複数の workers(カンマ区切り) |
同じビルドアーティファクトから、異なる worker タイプを別々のコンテナで実行する場合に使用します。
MASTRA_STEP_EXECUTION_URLmastra_step_execution_urlへの直接リンク
API サーバーのベース URL です。orchestration worker が Workflow のステップをリモート実行するために使用します。orchestration worker を API とは別のプロセスで実行する場合に必須です。
MASTRA_STEP_EXECUTION_URL=http://api:4111/api
本番環境では HTTPS URL を使用してください。セキュリティに関する推奨事項を参照してください。
orchestration worker は、次の URL にステップ実行リクエストを送信します。
${MASTRA_STEP_EXECUTION_URL}/workflows/:workflowId/runs/:runId/steps/execute
MASTRA_WORKER_AUTH_TOKENmastra_worker_auth_tokenへの直接リンク
orchestration worker が API のステップ実行エンドポイントを呼び出す際に送信する bearer トークンです。API に設定された認証 Provider がこのトークンを認識する必要があります。Worker 認証を参照してください。
MASTRA_WORKER_AUTH_TOKEN=sk-worker-secret-token
Worker の種類Worker の種類への直接リンク
OrchestrationWorkerOrchestrationWorkerへの直接リンク
PubSub の workflows トピックから Workflow イベントを処理します。pull subscription が設定された @mastra/redis-streams や @mastra/google-cloud-pubsub など、pull 対応の PubSub が必要です。
- 名前:
orchestration - PubSub トピック:
workflows - Consumer group:
mastra-orchestration
SchedulerWorkerSchedulerWorkerへの直接リンク
実行期限を迎えた cron schedules をストレージからポーリングし、workflow.start イベントを発行します。
- 名前:
scheduler - 単一インスタンスのみ:重複実行を避けるため、必ず1つのインスタンスだけを実行してください
BackgroundTaskWorkerBackgroundTaskWorkerへの直接リンク
Agent から送られたバックグラウンド Tool 呼び出しを実行します。
- 名前:
backgroundTasks - PubSub トピック:
background-tasks - Consumer group:
background-task-workers - 複数レプリカをサポート:各インスタンスで Consumer group を共有します
サポートされるストレージバックエンドサポートされるストレージバックエンドへの直接リンク
すべての worker タイプを実行するデプロイには、workflows、backgroundTasks、schedules ドメインを実装したストレージバックエンドが必要です。特に SchedulerWorker には schedules ドメインが必要です。スケジュールされた Workflows を使用しない場合、このドメインがないバックエンドでも orchestration と background tasks をサポートできます。次のバックエンドは3つすべてをサポートします。
| バックエンド | パッケージ |
|---|---|
| PostgreSQL | @mastra/pg |
| LibSQL | @mastra/libsql |
| MySQL | @mastra/mysql |
| MongoDB | @mastra/mongodb |
| Spanner | @mastra/spanner |
| Convex | @mastra/convex |
その他のストレージバックエンド(Upstash、DynamoDB、Cloudflare D1、ClickHouse、Redis)は Workflows と一部の worker 機能をサポートしていますが、schedules ドメインがありません。scheduler をデプロイしない場合は、orchestration worker と background task worker に引き続き使用できます。