FREEDOM251

Freedom251 › Task Queue Software

WakaQ

Free plan Self-hosted

Visit WakaQ Alternatives

WakaQ's own site

What WakaQ is

WakaQ is a free, open-source, self-hosted background task queue for Python. It uses Redis and is described as a minimal Celery alternative. Tasks may run synchronously or asynchronously, with queue priorities, delayed execution, periodic schedules, and broadcasting to every worker. Soft and hard timeout limits are available, with optional retries after soft timeouts. Worker processes can be restarted according to machine memory usage or the number of tasks processed. WakaQ shares a Redis queue protocol with WakaQ-TS, allowing Python and TypeScript services to enqueue or run tasks across languages. Installation uses `pip install wakaq`, and the README includes a systemd service example for running workers as daemons. Development and tests can mock WakaQ to run tasks synchronously without Redis or worker processes. The project says it has powered WakaTime background processing since 2022 and uses the BSD-3-Clause license. Maintainers do not accept feature pull requests and specifically list rate limiting and task deduplication among unsupported features.

Who it suits

WakaQ suits developers who need a self-hosted Redis-backed queue for Python tasks, including scheduled, delayed, prioritized, or retried work. Its shared protocol also fits systems combining Python and TypeScript services.

What it does well

  • Free and open source
  • Supports synchronous and asynchronous tasks
  • Provides delayed and periodic scheduling
  • Offers timeout and retry controls
  • Works across Python and TypeScript services

What to know first

  • Self-hosted deployment required
  • No rate limiting feature
  • No task deduplication feature
  • Feature pull requests are not accepted

Verdict

WakaQ provides focused queueing for Python with scheduling, priorities, retries, and worker controls. Its self-hosted model and stated feature limits matter for teams needing managed operations or advanced queue policies.

Facts from WakaQ's own pages

Deployment
The README provides an example systemd service configuration for running a WakaQ worker as a daemon. · github.com, 9 Oct 2026
Development and testing
The README describes mocking WakaQ to run tasks synchronously in development or tests without Redis or worker processes. · github.com, 10 Oct 2026
Feature scope
The maintainers say feature pull requests are not accepted and cite rate limiting and task deduplication as examples of features they do not intend to add. · github.com, 10 Oct 2026
Founded
2013 · github.com, 28 Sept 2026
Headquarters
San Francisco · github.com, 28 Sept 2026
Installation
The README gives `pip install wakaq` as the installation command. · github.com, 9 Oct 2026
Installation and deployment
The README shows installation with pip and an example of running a worker as a systemd daemon. · github.com, 10 Oct 2026
Language integration
WakaQ and its TypeScript counterpart share a Redis queue protocol, allowing Python and Node services to enqueue and run each other’s tasks. · github.com, 9 Oct 2026
Language interoperability
WakaQ and WakaQ-TS use the same Redis queue protocol, allowing Python and TypeScript services to enqueue or run tasks across languages. · github.com, 10 Oct 2026
License
The repository identifies its license as BSD-3-Clause. · github.com, 10 Oct 2026
Limitations
The README says feature pull requests are not accepted and names rate limiting and task deduplication as features it does not provide. · github.com, 9 Oct 2026
Local development
The README recommends mocking WakaQ to run tasks synchronously in development and tests without Redis or worker processes. · github.com, 9 Oct 2026
Production use
The README says WakaQ has been used in production at WakaTime since 2022. · github.com, 10 Oct 2026
Purpose
WakaQ is a background task queue for Python backed by Redis, described as a minimal Celery alternative. · github.com, 10 Oct 2026
Queue features
The project lists queue priorities, task broadcasting, soft and hard timeouts, and optional retries after soft timeouts. · github.com, 10 Oct 2026
Task execution
Tasks can be asynchronous or synchronous Python functions. · github.com, 9 Oct 2026
Tasks
Tasks can be synchronous or asynchronous, delayed until a specified time, or scheduled periodically. · github.com, 10 Oct 2026
Timeouts and retries
Tasks can have soft and hard timeout limits, with optional retries after soft timeouts. · github.com, 9 Oct 2026
Worker memory
Workers can be reloaded based on machine memory usage or the number of tasks processed. · github.com, 10 Oct 2026
Worker memory controls
Worker processes can be restarted based on memory use or the number of tasks processed. · github.com, 9 Oct 2026

Where WakaQ stands on Freedom251

Look at these too