Skip to main content
The dlq.restart method restarts one or more workflow runs from Dead Letter Queue (DLQ). This allows you to reprocess workflow runs that previously failed after exhausting retries.

Arguments

The first argument specifies which DLQ entries to restart. The optional second argument provides flow control and retry settings.

By DLQ ID

Pass a single DLQ ID or an array of IDs directly:
await client.dlq.restart("dlq-12345");
await client.dlq.restart(["dlq-12345", "dlq-67890"]);

By filters

Pass an object with a filter field:
filter
object
count
number
Maximum number of messages to process per call. Defaults to 100.
cursor
string
A pagination cursor from a previous request.

Restart all

all
boolean
Set to true to restart all DLQ entries.

Options (second argument)

flowControl
object
An optional flow control configuration to limit concurrency and execution rate of restarted workflow runs.See Flow Control for details.
retries
number
Number of retry attempts to apply to the restarted workflow invocation. Defaults to 3 if not provided.

Response

cursor
string
A pagination cursor. If not returned, all matching entries have been processed.
workflowRuns
object[]

Usage

const { messages } = await client.dlq.list();

const response = await client.dlq.restart(messages[0].dlqId, {
  flowControl: {
    key: "my-flow-control-key",
    parallelism: 10,
  },
  retries: 3,
});