timeout_ms
timeout_ms bounds workflow execution for one message. A synchronous request that exceeds it answers 504 Gateway Timeout.
Synopsis
{ "timeout_ms": 5000 }
Fields
| Field | Type | Required | Default | Description |
|---|---|---|---|---|
timeout_ms | integer | no | per ingress, below | Maximum workflow execution time in milliseconds. |
The value governs every ingress. Where the channel declares none, each ingress falls back to its own server-level default. On two ingresses that server value is a ceiling the channel value is clamped to, never a default:
| Ingress | Channel declares none | Channel declares more than the transport allows |
|---|---|---|
| synchronous HTTP | runs to completion | honored — nothing else waits on it |
/async | trace_queue.processing_timeout_ms | clamped to trace_queue.processing_timeout_ms |
| Kafka | kafka.processing_timeout_ms | clamped to kafka.processing_timeout_ms |
channel_call | engine.default_channel_call_timeout_ms | honored — the calling task’s own timeout_ms outranks it anyway |
Why the two clamps
On those paths the deadline protects something shared. A Kafka dispatch blocks the consumer’s poll loop. A channel asking for ten minutes would push the consumer past librdkafka’s max.poll.interval.ms and get it evicted from its group mid-record. An /async dispatch occupies one of a fixed number of queue workers, so an over-long deadline starves every other channel’s queued work. A channel can shorten its deadline everywhere; it can lengthen it only where nothing else depends on it. Raise the transport setting if a channel genuinely needs longer there.
A channel_call task may set its own timeout_ms, which outranks the target channel’s. See Task Functions. The server-level settings live in the Configuration Reference.
Related
- Timeouts, retries and circuit breakers: the deadline among the other controls.
- Trace queue settings: the
/asyncceiling. - Kafka settings: the Kafka ceiling.
channel_call: the task timeout that outranks a target’s.- Channel configuration: every key, with its page.
Last verified 14 September 2026