> Discover all available pages from the documentation index: https://mastra.zisheng.pro/ja/llms.txt # Workers 使用パターンとデプロイ構成については、[Workers](https://mastra.zisheng.pro/ja/docs/deployment/workers)を参照してください。 ## 環境変数 ### `MASTRA_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_URL` API サーバーのベース URL です。orchestration worker が Workflow のステップをリモート実行するために使用します。orchestration worker を API とは別のプロセスで実行する場合に必須です。 ```text MASTRA_STEP_EXECUTION_URL=http://api:4111/api ``` 本番環境では HTTPS URL を使用してください。[セキュリティに関する推奨事項](https://mastra.zisheng.pro/ja/docs/server/auth/workers)を参照してください。 orchestration worker は、次の URL にステップ実行リクエストを送信します。 ```text ${MASTRA_STEP_EXECUTION_URL}/workflows/:workflowId/runs/:runId/steps/execute ``` ### `MASTRA_WORKER_AUTH_TOKEN` orchestration worker が API のステップ実行エンドポイントを呼び出す際に送信する bearer トークンです。API に設定された認証 Provider がこのトークンを認識する必要があります。[Worker 認証](https://mastra.zisheng.pro/ja/docs/server/auth/workers)を参照してください。 ```text MASTRA_WORKER_AUTH_TOKEN=sk-worker-secret-token ``` ## Worker の種類 ### OrchestrationWorker PubSub の `workflows` トピックから Workflow イベントを処理します。pull subscription が設定された `@mastra/redis-streams` や `@mastra/google-cloud-pubsub` など、pull 対応の PubSub が必要です。 - **名前**:`orchestration` - **PubSub トピック**:`workflows` - **Consumer group**:`mastra-orchestration` ### SchedulerWorker 実行期限を迎えた cron schedules をストレージからポーリングし、`workflow.start` イベントを発行します。 - **名前**:`scheduler` - **単一インスタンスのみ**:重複実行を避けるため、必ず1つのインスタンスだけを実行してください ### BackgroundTaskWorker 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`](https://mastra.zisheng.pro/ja/reference/storage/postgresql) | | LibSQL | [`@mastra/libsql`](https://mastra.zisheng.pro/ja/reference/storage/libsql) | | MySQL | `@mastra/mysql` | | MongoDB | [`@mastra/mongodb`](https://mastra.zisheng.pro/ja/reference/storage/mongodb) | | Spanner | [`@mastra/spanner`](https://mastra.zisheng.pro/ja/reference/storage/spanner) | | Convex | [`@mastra/convex`](https://mastra.zisheng.pro/ja/reference/storage/convex) | その他のストレージバックエンド(Upstash、DynamoDB、Cloudflare D1、ClickHouse、Redis)は Workflows と一部の worker 機能をサポートしていますが、`schedules` ドメインがありません。scheduler をデプロイしない場合は、orchestration worker と background task worker に引き続き使用できます。