Comparison¶
Comparison to ARQ¶
SAQ is heavily inspired by ARQ but has several enhancements.
Avoids polling by leveraging BLMOVE or RPOPLPUSH and NOTIFY
SAQ has much lower latency than ARQ, with delays of < 5ms. ARQ’s default polling frequency is 0.5 seconds
SAQ is up to 8x faster than ARQ
Web interface for monitoring queues and workers
Heartbeat monitor for abandoned jobs
More robust failure handling
Storage of stack traces
Sweeping stuck jobs
Handling of cancelled jobs different from failed jobs (machine redeployments)
Before and after job hooks
Easily run multiple workers to leverage more cores
Benchmarks¶
pip install arq && python benchmarks/simple.py arq
pip install saq && python benchmarks/simple.py saq
pip install rq && python benchmarks/simple.py rq
Results¶
N = 1000, Results in seconds