Skip to content
Robnu
Live

Two queue systems. Each used for what it's good at.

BullMQ runs the cron-style sweeps inside Node — scheduling-sweep, AJIO token revalidation, AJIO orders autosync, claim sweeper. AWS SQS runs the marketplace dispatch and execution — FIFO for per-account ordering, Standard for parallelisable work. Operational visibility lives in CloudWatch.

Free during early access · Forever free under 25 orders/day
app.robnu.com/platform/queuesHybrid queue layerBullMQ cron sweeps · AWS SQS marketplace dispatchBullMQcron sweeps onlyscheduling-sweep*/5 * * * *ajio-token-revalidation0 */4 * * *ajio-orders-autosync0 * * * *claim-sweeper0 2 * * *AWS SQSFIFO · StandardFIFOaccount-syncFIFOinventory-deductFIFOmarketplace-push-ajioStdreturns-syncStddocument-downloadStdpayout-sync
TL;DR
  • BullMQ is restricted to cron-style sweeps (scheduling-sweep, ajio-token-revalidation, ajio-orders-autosync, claim-sweeper).
  • AWS SQS handles marketplace dispatch + execution. FIFO for per-account ordering; Standard for parallelisable work.
  • Per-account FIFO ordering prevents second-order races (e.g. duplicate AJIO POB token-refresh attempts).

What you get.

Per-account FIFO ordering

Token-refresh, inventory deductions, and marketplace pushes for a single account run in order. Two refreshes against the same AJIO POB never race; one waits.

Cross-account parallelism

One seller's AJIO sync never blocks another seller's Meesho sync. Parallelism is bounded by per-account FIFO + the Standard queue consumer pool, not by global locks.

Operational visibility outside Node

SREs see queue depth, oldest message age, and DLQ contents in CloudWatch without spinning up Bull Board. The hybrid keeps day-2 operations sane.

Queue inventory

What runs where.

  • BullMQ — scheduling-sweep (*/5 * * * *).
  • BullMQ — ajio-token-revalidation (0 */4 * * *).
  • BullMQ — ajio-orders-autosync (0 * * * *).
  • BullMQ — claim-sweeper (0 2 * * *).
  • AWS SQS FIFO — account-sync.
  • AWS SQS FIFO — inventory-deduct.
  • AWS SQS FIFO — marketplace-push-{ajio,meesho,amazon,flipkart}.
  • AWS SQS Standard — returns-sync.
  • AWS SQS Standard — document-download.
  • AWS SQS Standard — payout-sync.
  • AWS SQS Standard — reconciliation.
FAQ

Practical answers.

BullMQ relies on Redis persistence. AWS SQS gives durable retry across restarts via visibility-timeout, plus per-message DLQ semantics, plus CloudWatch-native ops visibility. SQS is the right call for the dispatch hot path.

Cron-style sweeps fan out to all enabled rows due now. That's much simpler as a BullMQ Repeatable Job inside Node than as an EventBridge rule + SQS message.

Each SQS queue has a paired DLQ. Messages that fail visibility-timeout retries land in the DLQ; SREs see them in CloudWatch and replay manually after triage.

Related

More inside this pillar.

Try it inside your own dashboard.

Free during early access. No card. Forever free under 25 orders/day.

build 547000c1ac5d3ea9cb039864711ed788f9948b69 · 2026-06-12T02:03:58+05:30