Skip to main content

Start

Start the job worker:

$ osapi job worker start

The worker connects to NATS, subscribes to job streams, and processes jobs as they become available. It uses platform-specific providers to execute operations (system status, DNS queries, ping, etc.).

Configuration

Worker behavior is configured via osapi.yaml or CLI flags:

FlagDescriptionDefault
--worker-hostNATS server hostnamelocalhost
--worker-portNATS server port4222
--worker-client-nameNATS client name for identificationosapi-job-worker
--worker-queue-groupQueue group for load balancingjob-workers
--worker-hostnameWorker hostname for routingsystem hostname
--worker-max-jobsMaximum concurrent jobs10

Consumer Settings

FlagDescriptionDefault
--consumer-max-deliverMax delivery attempts before DLQ5
--consumer-ack-waitTime to wait for acknowledgment2m
--consumer-max-ack-pendingMax unacknowledged messages1000
--consumer-replay-policyReplay policy (instant or original)instant
--consumer-back-offRetry backoff intervals30s,2m,5m,15m,30m

How It Works

  1. Connects to NATS and creates JetStream consumers
  2. Subscribes to query (jobs.query.>) and modify (jobs.modify.>) subjects
  3. Processes jobs by dispatching to the appropriate provider
  4. Writes status events and results back to the KV store
  5. Gracefully shuts down on SIGINT/SIGTERM