// the find
closeio/tasktiger
Python task queue using Redis
TaskTiger is a Redis-backed task queue for Python with per-task subprocess isolation, unique queues, and flexible retry strategies. It's built and maintained by Close (the CRM company) who run it in production. Aimed at teams that want Celery-level features without Celery's complexity.
Fork-per-task isolation is a real differentiator — memory leaks stay contained and hard timeouts actually kill the process rather than relying on cooperative cancellation. Subqueue fairness (random queue selection prevents one noisy customer from starving others) is a well-thought-out design that most queues get wrong. Atomic state transitions via Lua scripts mean tasks don't silently disappear if a worker crashes mid-execution. Retry API is genuinely flexible — per-exception retry methods and `RetryException` raised from within the handler gives you control without fighting the framework.
Maintained by a single company for their own use; 93 forks and 1465 stars after years of existence signals limited community adoption compared to alternatives like Celery or ARQ, which means fewer third-party integrations and slower bug fixes if Close loses interest. The admin UI is a separate project (tasktiger-admin) that appears minimally maintained — if you need operational visibility you're building it yourself. No built-in support for result storage; if your callers need return values you're bolting on your own Redis keys or a separate store. Forking a subprocess per task carries real overhead at high throughput — the sync executor trades this for memory-leak risk, so neither mode is free.