For the complete documentation index, see llms.txt.
Skip to main content
Version: 8.9

Interface: JobWorkerConfig<In, Out, Headers>

Type Parameters​

In​

In extends z.ZodTypeAny = any

Out​

Out extends z.ZodTypeAny = any

Headers​

Headers extends z.ZodTypeAny = any

Properties​

autoStart?​

optional autoStart?: boolean;

Immediately start polling for work - default true


customHeadersSchema?​

optional customHeadersSchema?: Headers;

Zod schema for custom headers in the activated job


fetchVariables?​

optional fetchVariables?: In extends ZodType<unknown, unknown, $ZodTypeInternals<unknown, unknown>> ? Extract<keyof output<In>, string>[] : string[];

Optional list of variable names to fetch during activation


inputSchema?​

optional inputSchema?: In;

Zod schema for variables in the activated job


jobHandler​

jobHandler: (job) => "JOB_ACTION_RECEIPT" | Promise<"JOB_ACTION_RECEIPT">;

Parameters​

job​

Job<In, Headers>

Returns​

"JOB_ACTION_RECEIPT" | Promise<"JOB_ACTION_RECEIPT">


jobTimeoutMs?​

optional jobTimeoutMs?: number;

Job activation timeout — falls back to CAMUNDA_WORKER_TIMEOUT env var


jobType​

jobType: string;

Zeebe job type


maxBackoffTimeMs?​

optional maxBackoffTimeMs?: number;

Deprecated​

Not used; pacing handled by long polling + client backpressure. Present only for migration compatibility.


maxParallelJobs?​

optional maxParallelJobs?: number;

concurrency limit — falls back to CAMUNDA_WORKER_MAX_CONCURRENT_JOBS env var


outputSchema?​

optional outputSchema?: Out;

Zod schema for variables in the complete command


pollIntervalMs?​

optional pollIntervalMs?: number;

Backoff between polls - default 1ms


pollTimeoutMs?​

optional pollTimeoutMs?: number;

The request will be completed when at least one job is activated or after the requestTimeout. If the requestTimeout = 0, the request will be completed after a default configured timeout in the broker. To immediately complete the request when no job is activated set the requestTimeout to a negative value


startupJitterMaxSeconds?​

optional startupJitterMaxSeconds?: number;

Maximum random delay (in seconds) before the worker starts polling. When multiple application instances restart simultaneously, this spreads out initial activation requests to avoid saturating the server. 0 (the default) means no delay.


validateSchemas?​

optional validateSchemas?: boolean;

Validate any provided input, output, customheader schema default: false


workerName?​

optional workerName?: string;

Optional explicit name