Interface: ThreadedJobWorkerConfig<In, Out, Headers>
Configuration for a threaded job worker.
Same as JobWorkerConfig but replaces jobHandler with handlerModule.
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
handlerModule
handlerModule: string;
Absolute or relative path to a JS/TS module that exports a default handler function.
The function signature must be: (job, client) => Promise<JobActionReceipt>
inputSchema?
optional inputSchema?: In;
Zod schema for variables in the activated job
jobTimeoutMs?
optional jobTimeoutMs?: number;
Job activation timeout
jobType
jobType: string;
Zeebe job type
maxParallelJobs?
optional maxParallelJobs?: number;
concurrency limit
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.
threadPoolSize?
optional threadPoolSize?: number;
Number of threads in the shared pool (used only when the pool is first created; subsequent workers share the existing pool). Default: number of CPU cores available to the process.
validateSchemas?
optional validateSchemas?: boolean;
Validate any provided input, output, customheader schema default: false
workerName?
optional workerName?: string;
Optional explicit name