EVERYTHING XIAOMI
Get listed
Taskiq logo

Taskiq

Taskiq is a free, self-hosted Python library for distributing and processing Python functions.

Place
#23 of 37
Score
5.8
Taskiq's website

What Taskiq is

Taskiq is a free, self-hosted Python library for distributing and processing Python functions. It supports asynchronous functions as well as synchronous functions, and provides a command-line interface with worker and scheduler commands. Its core includes brokers and extension points for custom brokers and middleware. Official broker options include RabbitMQ, Redis, NATS, SQS, and Kafka; result backends include Redis, NATS, and S3. Tasks can be scheduled by cron, interval, or specific time, with Redis and NATS among the scheduling sources. Retry middleware can set limits, delays, jitter, exponential backoff, and exception-specific behavior. Documentation covers Prometheus metrics, OpenTelemetry tracing, and in-memory testing without a distributed broker. FastAPI and AioHTTP integrations allow tasks to reuse application dependencies. Taskiq is MIT licensed and requires Python 3.10 or newer. It is not a drop-in replacement for other task managers and does not support fully synchronous projects. InMemoryBroker is intended for local development; ZeroMQ use is recommended for small setups with one worker process.

Good

  • Supports asynchronous and synchronous functions
  • Official brokers include RabbitMQ, Redis, NATS, SQS, and Kafka
  • Includes scheduling and retry middleware
  • Documents Prometheus metrics and OpenTelemetry tracing
  • MIT licensed

Watch out

  • Requires Python 3.10 or newer
  • Does not support fully synchronous projects
  • InMemoryBroker is for local development
  • ZeroMQ is recommended for one worker process

Who it suits

Taskiq suits Python developers building distributed task processing into projects that use asynchronous functions or need scheduling and retries. It is not intended for fully synchronous projects.

Verdict

Taskiq offers broker integrations, scheduling, retries, and observability for Python task processing. Its documented limits matter: it is not a drop-in replacement, and fully synchronous projects are unsupported.

The facts

Each one read from Taskiq's own pages, with the date it was checked.

What it does

AioHTTP integration
The taskiq-aiohttp library enables reuse of AioHTTP application dependencies in Taskiq tasks.checked 1 Oct 2026
Async execution
Taskiq can run both synchronous and asynchronous functions.checked 1 Oct 2026
Async support
Taskiq supports async functions and can also run synchronous functions.checked 30 Sep 2026
Broker integrations
Official broker integrations include RabbitMQ, Redis, NATS, SQS and Kafka.checked 1 Oct 2026
Broker options
Officially supported broker packages include RabbitMQ, Redis, NATS, SQS, and Kafka options.checked 30 Sep 2026
CLI
The core library includes a command-line interface with worker and scheduler commands.checked 1 Oct 2026
Extensibility
Taskiq is modular, with replaceable components and support for implementing custom brokers or middleware.checked 1 Oct 2026
FastAPI integration
The taskiq-fastapi library enables reuse of FastAPI dependencies in Taskiq tasks.checked 1 Oct 2026
License
The project homepage identifies Taskiq as MIT licensed.checked 30 Sep 2026
License and Python
The core taskiq package is MIT licensed and requires Python 3.10 or newer.checked 1 Oct 2026
Local broker limit
InMemoryBroker is intended for local development and cannot be used in a real-world networked scenario.checked 1 Oct 2026
Observability
Taskiq documents Prometheus metrics and OpenTelemetry tracing for workers.checked 30 Sep 2026
Project limitation
Taskiq is not a drop-in replacement for other task managers and the documentation says it does not work for fully synchronous projects.checked 30 Sep 2026
Purpose
Taskiq is a library for sending and processing Python functions in a distributed manner.checked 1 Oct 2026
Result backends
Official result backends include Redis, NATS and S3, while third-party options include PostgreSQL, S3 and YDB.checked 1 Oct 2026
Result storage
Result backends can store task return values and execution times; official packages include Redis and NATS backends.checked 30 Sep 2026
Retries
Its middleware includes retry options with retry limits, delays, jitter, exponential backoff, and exception-specific behavior.checked 30 Sep 2026
Scale limitation
The ZeroMQ broker documentation recommends one worker process because multiple worker processes may each execute the same task.checked 30 Sep 2026
Scheduling
Taskiq supports cron and time-based task scheduling through TaskiqScheduler and schedule sources.checked 1 Oct 2026
Scheduling limitation
The scheduler sends scheduled tasks to a broker but does not execute them, and the documentation advises running only one scheduler instance.checked 30 Sep 2026
Support
The contribution guide directs people needing help to open an issue, start a discussion, or publish a draft pull request with their question.checked 30 Sep 2026
Synchronous-project limit
The documentation says Taskiq does not work for fully synchronous projects and recommends Celery or Dramatiq for them.checked 1 Oct 2026
Testing
Taskiq documents using an in-memory broker to test tasks without connecting to a distributed broker.checked 30 Sep 2026
Typing
Taskiq provides type hints and strongly typed functionality with autocompletion support.checked 1 Oct 2026

Alternatives to Taskiq

All alternatives
  1. 1Inngest logo

    Inngest

    Free planOpen sourceWebAPILinuxmacOS
    8.3From $99 a month
  2. 2

    Hangfire

    Free planOpen sourceWebAPILinuxSelf-hosted
    8.0From $500 a year
  3. 3

    Graphile Worker

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.9From $25 a month
  4. 4

    Gearman

    Free planOpen sourceAPILinuxmacOSSelf-hosted
    7.3Free plan
  5. 5

    Google Tasks

    Free planAndroidiOSWeb
    7.0Free plan
  6. 6

    IronWorker

    Free planWebAPILinuxSelf-hosted
    6.9From $169 a month