qrush-engine
qrush-engine is a Sidekiq-style worker runtime for Rust.
It runs as a separate OS process (your “Sidekiq copy/instance”), consumes jobs from Redis queues, executes them with your Job hooks (before/perform/after/on_error/always), runs delayed jobs, and runs cron schedules.
Quick start (mac local)
1) Start Redis
2) Run the engine
REDIS_URL="redis://127.0.0.1:6379" \
Queue syntax
--queues accepts comma-separated items:
default:10=> queue=default, concurrency=10, priority=0critical:25:0=> queue=critical, concurrency=25, priority=0
Using with your Actix app (Sidekiq model)
- Your Actix API enqueues jobs (fast path).
qrush-engineexecutes jobs (background process).
Job example (same style as your NotifyUser)
use Job;
use async_trait;
use ;
use ;
use ;
Register jobs (engine init)
In your engine bootstrap (your app’s engine binary), register job factories:
use register_job;
register_job;
Then run workers via QueueConfig::initialize(...) (already done by the qrush-engine binary in this crate).
Notes
.envis loaded automatically by theqrush-enginebinary (viadotenvy), so mac local is easy.- Redis URL is read from
QRUSH_REDIS_URLorREDIS_URL.