TaskTiger

What TaskTiger is
TaskTiger is a self-hosted Python task queue that uses Redis to manage background work. It can run tasks in forked subprocesses by default or synchronously in a worker process. Workers can be assigned selected queues and subqueues, while queues can enforce a maximum size. Unique queues can block duplicate queued tasks with matching functions and arguments, and task locks can prevent similar tasks from running concurrently. For retries, TaskTiger supports fixed, linear, exponential, and custom intervals. It also supports configurable batch queues, tasks scheduled for specific times, and periodic tasks. Task states move atomically between queues, and a task can be re-executed after a worker crashes and a timeout passes. Failed tasks can be kept in an error queue for manual retry or deletion. Logging support includes structlog, task IDs in log messages, and described use with Logstash, Elasticsearch, and Kibana; the project also describes Rollbar integration. TaskTiger requires a Redis connection. The README describes launching workers with the tasktiger command and a Redis connection, and includes a Supervisor example for multiple workers. A simple Flask-Admin interface is available as a separate project. The repository identifies the software as MIT-licensed open source.
Who it suits
TaskTiger suits Python developers who want to run background work through a self-hosted queue backed by Redis. Its queue controls, retry policies, scheduling, and error handling are relevant to teams managing varied or recurring tasks.
What it does well
- Runs tasks in forked subprocesses or synchronously.
- Supports fixed, linear, exponential, and custom retry intervals.
- Unique queues and task locks help control duplicate work.
- Supports scheduled, periodic, and batch queues.
- Failed tasks can be retained for retry or deletion.
- MIT-licensed open source software.
What to know first
- Requires a Redis connection.
- Self-hosted deployment requires running workers.
- The Flask-Admin interface is a separate project.
Getting started
- Use the TaskTiger project website on GitHub.
- Set up a Redis connection; the README recommends decode_responses=True for Python 3.
- Configure tasks and queues in your Python application.
- Start a worker with the tasktiger command and Redis connection.
- Use the documented Supervisor configuration if running multiple workers.
Verdict
Choose TaskTiger if you need a self-hosted Python queue with Redis, configurable retries, and controls for scheduling and duplicate work. Look elsewhere if you need a queue that does not require Redis or prefer a bundled admin interface.
Questions
Is TaskTiger free?
Yes. It is open source and the repository identifies its license as MIT.
What does TaskTiger use Redis for?
TaskTiger uses a Redis connection as its queue backend.
What platforms does TaskTiger support?
The listed platforms are Linux, macOS, Windows, and self-hosted deployment.
Can TaskTiger schedule or repeat tasks?
Yes. It supports tasks scheduled for specific times and periodic tasks.
Does TaskTiger include an admin interface?
A simple Flask-Admin interface is available as a separate project.
Facts from TaskTiger's own pages
- Admin interface
- A simple admin interface using flask-admin is available as a separate project. · github.com, 9 Oct 2026
- Batching and scheduling
- Tasks can be batched, scheduled for a specific time, or run periodically. · github.com, 9 Oct 2026
- Deployment
- The README shows starting a worker with the tasktiger command and a Redis connection, including an example Supervisor configuration for multiple workers. · github.com, 8 Oct 2026
- Duplicate prevention
- Unique queues can prevent duplicate queued tasks, and task locks can prevent concurrent execution of similar tasks. · github.com, 8 Oct 2026
- Error handling
- Non-retried task failures are stored with execution tracebacks in an error queue, where tasks can be retried or deleted manually. · github.com, 9 Oct 2026
- Execution
- By default, it runs each task in a forked subprocess, and it also supports synchronous workers. · github.com, 9 Oct 2026
- Founded
- 2013 · github.com, 28 Sept 2026
- Headquarters
- Austin, Texas, United States · github.com, 28 Sept 2026
- Integrations
- The README describes integration with Rollbar and names Logstash, Elasticsearch, and Kibana as tools for analyzing structured logs. · github.com, 9 Oct 2026
- License
- The GitHub repository identifies the project as MIT licensed. · github.com, 9 Oct 2026
- Logging
- TaskTiger supports structured JSON style logging through structlog and can add the task ID to log messages. · github.com, 9 Oct 2026
- Logging integrations
- TaskTiger supports structured logging with structlog and describes use with Logstash, Elasticsearch, and Kibana. · github.com, 8 Oct 2026
- Purpose
- TaskTiger is a Python task queue that uses Redis. · github.com, 9 Oct 2026
- Queue controls
- Workers can process selected queues and subqueues, and queues can have configurable maximum sizes. · github.com, 9 Oct 2026
- Queue management
- Workers can process selected queues and subqueues, and queues can enforce a maximum size. · github.com, 8 Oct 2026
- Redis requirement
- TaskTiger uses a Redis connection, and its README recommends initializing it with decode_responses=True for Python 3. · github.com, 9 Oct 2026
- Reliability
- It moves tasks atomically between queue states and re-executes tasks after a timeout if a worker crashes. · github.com, 9 Oct 2026
- Retries
- Failed tasks can be retried with fixed, linear, exponential, or custom intervals. · github.com, 9 Oct 2026
- Task locks
- Task locks can prevent more than one instance of similar tasks from running at once. · github.com, 9 Oct 2026
- Task uniqueness
- Unique queues can prevent duplicate queued tasks with matching functions and arguments. · github.com, 9 Oct 2026
- Workers
- Workers can run each task in a forked subprocess or synchronously in the worker process. · github.com, 8 Oct 2026
Where TaskTiger stands on Freedom251
- Software Rpa#7 of 22
- Game Animation Software#21 of 32
- Task Queue Software#31 of 37