2 min read 297 words
Docs
CLI
Reference

hessian worker start

CLI command reference

hessian worker start

Start the worker

Synopsis

Start a worker that polls for tasks from the server and executes them. Workers can run tasks locally, in Docker containers, or in Kubernetes pods.

hessian worker start [flags]

Examples

Start a worker with default settings:

hessian worker start

Start a worker with custom name:

hessian worker start --name my-worker

Start a worker with custom queue group:

hessian worker start --queue_group my-queue-group

Start a worker with multiple runtimes:

hessian worker start --runtime python=/usr/bin/python3 --runtime node=/usr/bin/node

Start a Kubernetes worker:

hessian worker start --type kubernetes --k8s-namespace hessian --k8s-runner-image hessian/runner:latest --k8s-default-image python:3.12-slim

Options

Flag Type Description
--concurrent_task_limit int Maximum number of tasks the worker can run concurrently (default 1)
--heartbeat_interval duration Interval for sending heartbeat to the API (default 30s)
-h, --help “ help for start
--k8s-api-key-secret string K8s Secret reference for API key, in format secret-name:key-name (e.g., hessian-secrets:api-key)
--k8s-cpu-limit string CPU limit for task pods (default “1000m”)
--k8s-cpu-request string CPU request for task pods (default “100m”)
--k8s-default-image string Default Python image for task pods (default “python:3.12-slim”)
--k8s-job-ttl int32 TTL seconds after job finishes (default 24 hours) (default 86400)
--k8s-kubeconfig string Path to kubeconfig (empty = auto-detect)
--k8s-memory-limit string Memory limit for task pods (default “512Mi”)
--k8s-memory-request string Memory request for task pods (default “128Mi”)
--k8s-namespace string Kubernetes namespace for task pods (default “default”)
--k8s-pod-api-url string API URL reachable from inside pods (e.g., http://host.minikube.internal:8080). Defaults to the worker’s —api_url.
--k8s-pod-storage-url string Storage proxy URL reachable from inside pods (e.g., http://192.168.49.1:8000). Rewrites presigned URL hosts for self-hosted setups.
--k8s-runner-image string Runner init container image (default “hessian/runner:latest”)
--k8s-service-account string Service account for task pods
--name string Name of the worker
--poll_interval duration Interval for polling tasks from the API (default 5s)
--queue_group string The ID of the queue group to register the worker with
--runtime stringArray Runtime mapping in the form lang=/path/to/runtime (e.g python=/usr/bin/python3). It can be specified multiple times to register multiple runtimes, e.g —runtime python=/usr/bin/python3 —runtime node=/usr/bin/node
-t, --type string Type of worker: local, docker, kubernetes, aws-lambda, gcp-cloud-run, azure-functions (default “local”)

Options inherited from parent commands

Flag Type Description
--api_url string API URL (overrides the active context) (default “http://localhost:8000”)
--config string config file (default is $HOME/.hessian/config.yaml)
--debug “ Enable debug logging
-H, --header strings Add custom header(s) to requests (format: ‘Key: Value’). Can be repeated.
--json “ Output in JSON format (overrides —output)
--profile string Context profile to use (overrides current_context and HESSIAN_PROFILE)

See also

Last updated on 2-May-2026