Skip to content
Get started
Get started

Simulator: Try bunqueue in Your Browser

simulator

The engine, in your browser.

A faithful in-browser model of bunqueue. Push jobs and watch the same lifecycle a real server runs, waiting to active to completed, with failures bouncing through delayed backoff until they land in the dead-letter lane.

Use the scenario chips for one-click demos, or drive everything by hand from the control panel. The transport bar pauses the simulation clock and runs it up to 4× speed. Same FNV-1a shard mapping, same priority ordering, same controls as the real engine.

00:00
0pushed
0active
0completed
0retries
0dead
0.0jobs/s
Scenarios

Waiting

0
  • Push a job

Delayed

0
  • No scheduled jobs

Active

0
  • Start a worker

Completed

0
  • Nothing done yet

Dead letter

0
  • No dead letters

Shards fnv1a(queue) & 7

S00
S10
S20
S30
S40
S50
S60
S70

Throughput last 60s

0.0completed / sec

Workers

No workers. Start one to process jobs.

Events

Quiet so far. Push a job or run a scenario.

  • Pipeline: every job as a chip in its state lane. Active chips show live progress; retry chips carry their attempt count (↻ 2/3) and backoff countdown; dead letters show the failure reason.
  • Shards: bunqueue maps each queue to a shard with fnv1aHash(queueName) & SHARD_MASK. A cell flashes when a push lands on it. All jobs of one queue always share one shard.
  • Throughput: completions per second over the last 60 seconds of simulation time.
  • Workers: each card is one worker; the dots are its concurrency slots (filled = busy). Stopping a worker lets in-flight jobs finish first.
  • Events: the server log tail: pushes, completions, retries, dead letters, and every control action.
  1. Burst of 80: bulk-push 80 jobs and watch four worker slots chew through the backlog.
  2. Priorities win: P9 jobs pushed after a P1 backlog still jump the whole line.
  3. Scheduled jobs: delayed jobs wait in their lane until the countdown expires.
  4. Failure storm: at 55% failure rate, retries back off exponentially (1.2s → 2.4s → DLQ). Hit Retry DLQ to give dead letters a fresh attempt budget.
  5. Rate limited: eight worker slots, but the queue releases only 4 jobs/sec: backpressure you can see.

Then compose your own: pause a queue mid-burst, drain it, or crank the failure rate while a scenario runs, effects stack like they would on a real server.

MechanicSimulatorReal bunqueue
Shard mappingfnv1aHash(queue) & 7, 8 shardsSame hash, shard count auto-detected from CPU cores
Priority orderHigher first, FIFO within a priority (4-ary min-heap)Same
RetriesExponential backoff, DLQ after 3 attemptsConfigurable attempts/backoff per job
Rate limitToken bucket, jobs/sec per queueRateLimit command
StorageIn-memory, resets on reloadSQLite WAL with S3 backups
WorkersSimulated processing time (0.45–1.5s; the priority demo uses a slower 1.1–2s worker)Your code, over TCP or embedded

Ready for the real thing? Start with the quick start, then meet the Queue and Worker APIs.