$worker

queue

v0.2.2

Durable function queues - registers the `durable:subscriber` trigger type and the queue/DLQ service functions.

  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64 · x86

functions

11

engine::queue::dlq_messages

function

Browse DLQ messages

request
  • limitinteger· uint64min 0
  • offsetinteger· uint64min 0
  • topicstringrequired
response
itemsobject[]
  • errorstringrequired
  • failed_atinteger· uint64requiredmin 0
  • idstringrequired
  • payloadunknownrequired
  • retriesinteger· uint32requiredmin 0
  • size_bytesinteger· uint64requiredmin 0

engine::queue::dlq_topics

function

List DLQ topics with counts

request
empty object
response
itemsobject[]
  • broker_typestringrequired
  • message_countinteger· uint64requiredmin 0
  • topicstringrequired

engine::queue::enqueue

function

Internal provider for TriggerAction::Enqueue

request
  • baggagestring
  • dataunknownrequired
  • function_idstringrequired
  • messageReceiptIdstringrequired
  • queuestringrequired
  • traceparentstring

    Trace context captured by the engine at the enqueue boundary and restored when the queued function is invoked.

response
  • messageReceiptIdstringrequired

engine::queue::list_topics

function

List all queue topics

request
empty object
response
itemsobject[]
  • broker_typestringrequired
  • namestringrequired
  • subscriber_countinteger· uint64requiredmin 0

engine::queue::topic_stats

function

Get stats for a queue topic

request
  • topicstringrequired
response
  • configunknown
  • consumer_countinteger· uint64requiredmin 0
  • deliveredinteger· uint64requiredmin 0
  • depthinteger· uint64requiredmin 0
  • dlq_depthinteger· uint64requiredmin 0
  • failedinteger· uint64requiredmin 0

iii::durable::publish

function

Enqueue a message

request
  • dataunknownrequired
  • topicstringrequired

    Topic to publish to. `queue` is accepted for the migration worker API.

response
any of (2)
variant 1
empty object
variant 2
valuenull

iii::queue::discard_message

function

Discard (purge) a single DLQ message by ID

request
  • message_idstringrequired
  • queuestringrequired
response
  • message_idstringrequired
  • queuestringrequired
  • redriveninteger· uint64requiredmin 0

iii::queue::redrive

function

Redrive all DLQ messages back to the main queue

request
  • queuestringrequired
response
  • queuestringrequired
  • redriveninteger· uint64requiredmin 0

iii::queue::redrive_message

function

Redrive a single DLQ message by ID back to the main queue

request
  • message_idstringrequired
  • queuestringrequired
response
  • message_idstringrequired
  • queuestringrequired
  • redriveninteger· uint64requiredmin 0

queue::define

function

Define and start a durable named function queue

request
  • configall of
    all of (1)
    variant 1
    • backoff_msinteger· uint64min 0

      Base delay in milliseconds for the exponential retry backoff.

    • concurrencyinteger· uint32min 0

      Number of messages processed concurrently.

    • max_priorityinteger· uint8min 0

      Declares the queue as a RabbitMQ priority queue with this many priority levels (`x-max-priority`). `None` means not a priority queue. RabbitMQ-only; other adapters ignore it. Added (rather than part of the original minimal port) so [`QueueAdapter::setup_function_queue`] can pass it through to the RabbitMQ adapter's topology setup.

    • max_retriesinteger· uint32min 0

      Maximum retries after the initial delivery before a message is sent to the dead-letter queue.

    • message_group_fieldstring

      Payload field used to partition FIFO messages into independently ordered groups.

    • poll_interval_msinteger· uint64min 0

      Delay between polls for adapters backed by a local store.

    • priority_fieldstring

      Payload field whose non-negative integer value supplies message priority when the adapter supports priority queues.

    • timeout_msinteger· uint64min 0

      Maximum time in milliseconds allowed for one target-function invocation.

    • typestring

      Queue scheduling mode. Supported values are `standard` and `fifo`.

  • queuestringrequired
response
  • changedbooleanrequired
  • queuestringrequired

queue::on-config-change

function

Internal: reload queue configuration from the authoritative store.

request
empty object
response
  • okbooleanrequired

triggers

1

durable:subscriber

trigger

Durable queue subscriber

invocation
  • backoff_msinteger· uint64min 0
  • condition_function_idstring
  • max_retriesinteger· uint32min 0
  • queuestringrequired

    Queue/topic name to consume.

  • queue_configany of
    any of (2)
    variant 1
    • backoff_delay_msinteger· uint64min 0
    • backoff_typestring
    • concurrencyinteger· uint32min 0
    • delay_secondsinteger· uint64min 0
    • max_priorityinteger· uint8min 0

      Declares this subscriber's queue as a RabbitMQ priority queue with this many levels (`x-max-priority`, 1–255). RabbitMQ-only; the priority value of each message comes from the adapter-level `priority_field`.

    • max_retriesinteger· uint32min 0
    • typestring
    • visibility_timeoutinteger· uint64min 0
    variant 2
    valuenull
return
valueunknown