본문으로 건너뛰기

노동자

사용 패턴 및 배포 토폴로지는 다음을 참조하세요.Workers.

환경변수
환경변수에 대한 직접 링크

MASTRA_WORKERS
mastra_workers에 대한 직접 링크

현재 프로세스에서 시작할 작업자를 제어합니다.

동작
(설정하지 않음)구성에 따라 기본 Worker가 자동으로 생성됩니다
"false"Worker 이벤트 처리를 비활성화합니다. 프로세스는 HTTP 요청을 처리하며, 이벤트를 소비하지 않고도 PubSub에 이벤트(예: Workflow 시작)를 게시할 수 있습니다.
"orchestration"오케스트레이션 Worker만 시작합니다
"scheduler"스케줄러 Worker만 시작합니다
"backgroundTasks"백그라운드 작업 Worker만 시작합니다
"orchestration,scheduler"여러 Worker를 시작합니다(쉼표로 구분)
이를 사용하여 동일한 빌드 아티팩트의 별도 컨테이너에서 다양한 작업자 유형을 실행합니다.

MASTRA_STEP_EXECUTION_URL
mastra_step_execution_url에 대한 직접 링크

오케스트레이션 작업자가 원격으로 Workflow 단계를 실행하는 데 사용하는 API 서버의 기본 URL입니다. 오케스트레이션 작업자가 API와 별도의 프로세스에서 실행되는 경우 필요합니다.

MASTRA_STEP_EXECUTION_URL=http://api:4111/api

프로덕션에서는 HTTPS URL을 사용하세요. 보다Security recommendations.

오케스트레이션 작업자는 다음 대상으로 단계 실행 요청을 보냅니다.

${MASTRA_STEP_EXECUTION_URL}/workflows/:workflowId/runs/:runId/steps/execute

MASTRA_WORKER_AUTH_TOKEN
mastra_worker_auth_token에 대한 직접 링크

API의 단계 실행 엔드포인트를 호출할 때 오케스트레이션 작업자가 보낸 전달자 토큰입니다. API에 구성된 인증 공급자는 이 토큰을 인식해야 합니다. 보다Worker authentication.

MASTRA_WORKER_AUTH_TOKEN=sk-worker-secret-token

작업자 유형
작업자 유형에 대한 직접 링크

오케스트레이션작업자
오케스트레이션작업자에 대한 직접 링크

PubSub의 workflows 토픽에서 Workflow 이벤트를 처리합니다. 풀 구독으로 구성된 @mastra/redis-streams 또는 @mastra/google-cloud-pubsub처럼 풀을 지원하는 PubSub가 필요합니다.

  • 이름: orchestration
  • PubSub 주제: workflows
  • 소비자 그룹: mastra-orchestration

스케줄러작업자
스케줄러작업자에 대한 직접 링크

예정된 크론 일정 및 게시를 위해 스토리지를 폴링합니다.workflow.start events.

  • 이름: scheduler
  • 단일 인스턴스만 해당: 중복 발생을 방지하려면 정확히 하나의 인스턴스를 실행하세요.

배경작업작업자
배경작업작업자에 대한 직접 링크

Agent가 디스패치한 백그라운드 Tool 호출을 실행합니다.

  • 이름: backgroundTasks
  • PubSub 주제: background-tasks
  • 소비자 그룹: background-task-workers
  • 여러 복제본 지원: 인스턴스는 소비자 그룹을 공유합니다.

지원되는 스토리지 백엔드
지원되는 스토리지 백엔드에 대한 직접 링크

모든 Worker 유형을 실행하는 배포에는 workflows, backgroundTasks, schedules 도메인을 구현하는 스토리지 백엔드가 필요합니다. schedules 도메인은 SchedulerWorker에 특별히 필요합니다. 예약된 Workflow를 사용하지 않는다면 이 도메인이 없는 백엔드도 오케스트레이션 및 백그라운드 작업을 지원할 수 있습니다. 다음 백엔드는 세 도메인을 모두 지원합니다.

백엔드패키지
포스트그레SQL@mastra/pg
LibSQL@mastra/libsql
MySQL@mastra/mysql
MongoDB@mastra/mongodb
Spanner@mastra/spanner
Convex@mastra/convex

다른 스토리지 백엔드(Upstash, DynamoDB, Cloudflare D1, ClickHouse, Redis)는 Workflow와 일부 Worker 기능을 지원하지만 schedules 도메인은 지원하지 않습니다. 스케줄러를 배포하지 않는다면 오케스트레이션 및 백그라운드 작업 Worker에 계속 사용할 수 있습니다.