skip to content
$worker

queue

v0.21.5

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

iiiverified
4,866 installs657 in 7d6 today
install
$iii worker add queue@0.21.5
binarylicense: Apache-2.0queueasyncjobsretryrabbitmqredis
  • macOS: arm64 · x64
  • Linux: arm64 · armv7 · x64
  • Windows: arm64 · x64 · x86

exact versions are immutable; binary and bundle artifacts are digest-pinned.

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
  • namespacestring

    Namespace in which the queued target must resolve. The engine sends this for non-default enqueues and omits it for legacy/default traffic.

  • 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.

    • redeliver_on_engine_restartboolean

      Re-deliver an invocation inside the same queue attempt when the engine restarts while it is in flight. This is only safe for consumers whose own durable checkpoints make duplicate delivery idempotent.

    • 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