Skip to content

Queue Commands

Commands for monitoring and managing event queues.

eventflow queue status

Show overall queue status.

bash
eventflow queue status

Output:

Queue Status
────────────────────────────────────────────────────
System: e-commerce
  Strategy: fifo | Concurrency: 8/10 active

Machine Queues:
┌──────────────┬─────────┬────────────┬────────┬──────────┐
│ Machine      │ Pending │ Processing │ Failed │ Avg Time │
├──────────────┼─────────┼────────────┼────────┼──────────┤
│ @order       │ 15      │ 5          │ 1      │ 45ms     │
│ @payment     │ 2       │ 1          │ 0      │ 120ms    │
│ @inventory   │ 0       │ 1          │ 0      │ 8ms      │
│ @report      │ 8       │ 2          │ 0      │ 4.2s     │
└──────────────┴─────────┴────────────┴────────┴──────────┘

Dead Letter Queue: 3 events

eventflow queue status @machine

Show detailed status for a specific machine.

bash
eventflow queue status @order

Output:

@order Queue Details
────────────────────────────────────────────────────
Configuration:
  Strategy:      fifo
  Concurrency:   5
  Timeout:       30s
  Retry:         3 attempts, exponential backoff

Current State:
  Pending:       15 events
  Processing:    5 events
  Failed:        1 event
  Completed:     1,234 events (last hour)
  Throughput:    ~20 events/sec

Pending Events:
┌──────────────┬────────────┬──────────┬──────────────────┐
│ Aggregate    │ Event      │ Priority │ Queued At        │
├──────────────┼────────────┼──────────┼──────────────────┤
│ order-abc123 │ :checkout  │ high     │ 2 seconds ago    │
│ order-def456 │ :add_item  │ normal   │ 3 seconds ago    │
│ order-ghi789 │ :add_item  │ normal   │ 5 seconds ago    │
└──────────────┴────────────┴──────────┴──────────────────┘

eventflow queue dlq

List events in the Dead Letter Queue.

bash
eventflow queue dlq

Output:

Dead Letter Queue
────────────────────────────────────────────────────
3 failed events

┌────────────┬──────────────┬────────────┬──────────┬─────────────────────┐
│ DLQ ID     │ Aggregate    │ Event      │ Attempts │ Last Error          │
├────────────┼──────────────┼────────────┼──────────┼─────────────────────┤
│ dlq-001    │ order-abc123 │ :checkout  │ 3        │ Connection refused  │
│ dlq-002    │ order-xyz789 │ :payment   │ 3        │ Gateway timeout     │
│ dlq-003    │ report-r1    │ :generate  │ 3        │ Out of memory       │
└────────────┴──────────────┴────────────┴──────────┴─────────────────────┘

Use 'eventflow queue dlq inspect <id>' for details
Use 'eventflow queue dlq retry <id>' to retry

eventflow queue dlq inspect

Inspect a specific DLQ entry.

bash
eventflow queue dlq inspect dlq-001

Output:

DLQ Entry: dlq-001
────────────────────────────────────────────────────
Event:       :checkout
Machine:     @order
Aggregate:   order-abc123
Conversation: conv-xyz789

Attempts: 3
  1. 2024-12-15T10:00:00Z - Connection timeout
  2. 2024-12-15T10:00:01Z - Connection timeout
  3. 2024-12-15T10:00:03Z - Connection refused

Original Event Data:
{
  "cart_id": "cart-123",
  "customer_id": "cust-456"
}

eventflow queue retry

Retry failed events.

bash
# Retry single event
eventflow queue retry dlq-001

# Retry all failed events for a machine
eventflow queue retry @order --all

# Retry with delay
eventflow queue retry dlq-001 --delay 5s

Output:

Retrying dlq-001...

  Event:     :checkout
  Aggregate: order-abc123

  ✓ Event requeued

  Position: 3 in @order queue

eventflow queue purge

Remove events from queue (use with caution).

bash
# Purge pending events (requires confirmation)
eventflow queue purge @order --pending --confirm

# Purge dead letter queue
eventflow queue purge @order --dlq --confirm

# Purge events older than duration
eventflow queue purge @order --older-than 24h --confirm

Output:

⚠️  WARNING: This will permanently delete events

Purging @order queue...
  Pending events: 15

Are you sure? Type 'yes' to confirm: yes

  ✓ 15 events purged

eventflow queue pause

Pause processing for a machine (events still queue).

bash
eventflow queue pause @order

Output:

Pausing @order queue...

  ✓ Queue paused

  Events will continue to queue but won't be processed.
  Use 'eventflow queue resume @order' to resume.

eventflow queue resume

Resume processing for a paused machine.

bash
eventflow queue resume @order

Output:

Resuming @order queue...

  ✓ Queue resumed

  Pending: 23 events
  Processing will begin immediately.

eventflow queue health

Run health checks on all queues.

bash
eventflow queue health

Output:

Queue Health Check
────────────────────────────────────────────────────
Overall: ⚠️  WARNING

Checks:
  ✅ @order queue healthy (15 pending, < 100 threshold)
  ✅ @payment queue healthy (2 pending, < 50 threshold)
  ⚠️  @report queue warning (45 pending, > 30 threshold)
  ✅ Dead letter queue healthy (3 events, < 10 threshold)
  ✅ No stuck events detected

Recommendations:
  - Consider increasing @report concurrency
  - Review 3 events in dead letter queue

Exit Codes

CodeMeaning
0Success
1Error or health check failed
2Warning (health check)

Released under the MIT License.