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