Skip to content
Registry

queue

v0.21.1

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

Install

bash
iii trigger compose::add worker=queue@0.21.1

Run in your project with the iii engine running. Exact versions are immutable and digest-pinned.

Functions11

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

Triggers1

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

Search the registry

Find workers, kits and executables, or jump to a page.