finds.dev← search

// the find

wakatime/wakaq

★ 596 · Python · BSD-3-Clause · updated May 2026

Background task queue for Python backed by Redis, a super minimal Celery

WakaQ is a Redis-backed background task queue for Python that strips Celery down to its useful core: priority queues, ETA tasks, cron scheduling, soft/hard timeouts, and broadcast tasks. It runs in production at WakaTime and has a TypeScript sibling that speaks the same Redis protocol, letting you enqueue from Python and consume from Node or vice versa. If you need Celery's full feature set, this isn't it — that's a stated design goal, not an oversight.

The polyglot protocol is genuinely useful — cross-language task queues usually require a shared message format spec and two separate implementations that drift; here it's intentional and maintained by the same team. The codebase is small enough (~10 files) that you can read it in an afternoon and actually understand what happens on a soft timeout or a worker OOM. Memory leak mitigation via `max_mem_percent` and `max_tasks_per_worker` is a practical detail that most minimal queues skip. `wrap_tasks_with` gives you a single injection point for app context (Flask/Django app context, tracing, etc.) without bolting on a middleware system.

596 stars and 21 forks after 4 years in production at a real company suggests limited adoption outside WakaTime — you're taking on a queue with a tiny community and no ecosystem of plugins or battle-tested third-party integrations. ETA task deduplication is automatic and non-optional (same args = same slot in the sorted set), which will surprise you the first time you try to enqueue the same task twice with identical arguments. There's no result backend — if you need task return values or status polling, you're building that yourself on top. The mock pattern shown for tests is a hand-rolled fake that won't catch serialization bugs or queue routing errors.

View on GitHub → Homepage ↗

// want more like this?

We dig through GitHub every week and send a few repos picked for what you actually care about — each with an honest take like this one.

Get finds in your inbox → Search again →