Every run gets retried according to its strategy. When retries exhaust, runs route to the dead-letter queue for inspection and replay.
Strategies
Fixed, exponential, exponential+jitter
Max retries
Configurable per job
Backoff cap
Configurable maximum delay
DLQ
Automatic routing on exhaustion
Replay
One-click from DLQ
Visibility
Per-attempt event logs
client.Jobs.Create(ctx, strait.JobInput{
Name: "charge-payment",
MaxRetries: 5,
Backoff: strait.ExponentialJitter,
BackoffCap: 30 * time.Second,
OnExhaust: strait.MoveToDeadLetter,
})
// Replay from DLQ
client.Runs.Replay(ctx, "run_abc123")