OSS TanbouSign in with GitHub

distribute Python background tasks across brokers and worker processes

OSS scale score 315.8OSS health 100
About these scores

OSS scale score is an unbounded metric that log-compresses and weights Stars, Watchers, Forks, and Contributors. Discovery score is the current OSS scale score minus the score at discovery. Update pace is commits in the last 30 days, growth momentum is the OSS scale score difference within the recent observation window, and OSS health is a 0–100 rating based on available recency, Community Health, and release data.

Stars
28,936
Primary language
Python
License
BSD-3-Clause
Repository last updated
Oct 5, 2026
On this page

Overview

Celery is a distributed task queue for Python. Producers send task messages through a broker and independent workers process them asynchronously, with configurable transports, concurrency pools, result backends, and scheduling.

Features and best fit

Based on official documentation; not hands-on tested · Content checked:

Key features

Deliver tasks through a broker and separate processing from the application process

A Celery application registers tasks and sends them through transports such as RabbitMQ, Redis, Amazon SQS, and Google Pub/Sub. Workers and clients include retry behavior for connection failures and can distribute processing across multiple worker processes.

Sources: [2]

Choose concurrency, result storage, and scheduling for the workload

Celery supports prefork, Eventlet, gevent, and solo concurrency modes, while result backends include Redis, SQLAlchemy, Django ORM, Elasticsearch, and others. Scheduled tasks can be coordinated with the scheduler.

Sources: [2]

Best fit

Fits Python backends that need heavy work removed from the request path

It is useful for email delivery, image processing, external API work, batch jobs, and other tasks that should be queued, retried, and scaled independently of the web request/response process.

Sources: [2]

Before adoption

Celery 5.6.3 requires Python 3.9+; design broker, result backend, and worker pool together

Celery 5.6.3 requires Python 3.9 or newer. Delivery semantics, retries, acknowledgements, result persistence, and concurrency behavior depend on the selected broker, backend, and worker pool, so deployment configuration must be tested together with application code. The 5.6.3 release includes fixes around Django workers and warm shutdown behavior.

Sources: [3][4]

Official sources

  1. [1]celery/celery — GitHub repository(2026-10-06)
  2. [2]Celery 5.6.3 — README(2026-10-06)
  3. [3]Celery 5.6.3 — setup.py(2026-10-06)
  4. [4]Celery 5.6.3 release(2026-10-06)
  5. [5]Celery BSD-3-Clause license(2026-10-06)
Supplemental curator note

Celery should be designed as an operational system spanning broker, result backend, and worker processes rather than as task code alone. Start with a small queue and validate retry, acknowledgement, idempotency, and worker shutdown behavior early.

Try it in 3 steps

  1. 1

    Install Celery 5.6.3

    Pin the reviewed stable release. Python 3.9 or newer and a RabbitMQ server reachable on localhost are required.

    python -m pip install "celery==5.6.3"
  2. 2

    Create a minimal task application

    Follow the minimal application shown in the official README and configure RabbitMQ as the broker.

    cat > tasks.py <<'PY' from celery import Celery app = Celery('hello', broker='amqp://guest@localhost//') @app.task def hello(): return 'hello world' PY
  3. 3

    Start a worker and enqueue a task

    Run the worker in one terminal, enqueue the task from another, and confirm receipt and execution in the worker log.

    celery -A tasks worker --loglevel=INFO # In another terminal: python -c "from tasks import hello; print(hello.delay())"
Check the official README

Growth

Growth trends · Last 30 days

28,936 Stars

Trend data is still being collected.

Built with

Categories and tags

GitHub data

GitHub dataView detailed GitHub data

GitHub Topics

  • amqp
  • python
  • python-library
  • python3
  • queue-tasks
  • queue-workers
  • queued-jobs
  • redis
  • redis-queue
  • sqs
  • sqs-queue
  • task-manager
Stars
28,936
Forks
5,205
Watchers
450
Open issues
737
Contributors
401
Owner type
Organization
Primary language
Python
Repository last updated
Oct 5, 2026
Write a related article

Share a guide or use case for this OSS in Markdown. Articles are published after administrator approval.

Report incorrect information

Tell us if any listing information is incorrect or outdated.

After reading this page, do you know what to do next?