Navigate:
All Reposcelery
~$CELERY0.1%

Celery: Distributed task queue for Python

Asynchronous task queue with distributed worker execution.

LIVE RANKINGS • 06:52 AM • STEADY
OVERALL
#159
17
BACKEND & APIS
#6
1
30 DAY RANKING TREND
ovr#159
·Backe#6
STARS
27.8K
FORKS
4.9K
DOWNLOADS
23
7D STARS
+18
7D FORKS
-1
See Repo:
Share:

Learn more about celery

Celery is a Python library for managing distributed task queues and asynchronous job execution. It operates by having client applications place task messages onto a broker, which then routes those messages to worker processes for execution. The system supports multiple message brokers (AMQP, Redis, SQS) and allows horizontal scaling through multiple workers and brokers. Common deployment patterns include background job processing, scheduled task execution, and workload distribution across server clusters.

celery

1

Multi-broker support

Celery integrates with multiple message broker backends including RabbitMQ/AMQP, Redis, and AWS SQS, allowing users to select infrastructure based on their deployment requirements rather than being locked to a single system.

2

Language interoperability

While written in Python, Celery's message protocol can be implemented in other languages. Implementations exist for Node.js, PHP, Go, and Rust, enabling task queue communication across polyglot systems.

3

Flexible scheduling and routing

Celery provides task scheduling capabilities, message routing options, and support for task prioritization and rate limiting, allowing fine-grained control over job execution patterns and worker allocation.


from celery import Celery

app = Celery('tasks', broker='redis://localhost:6379')

@app.task
def send_email(recipient, subject, body):
    # Send email logic here
    return f"Email sent to {recipient}"

# Call task asynchronously
result = send_email.delay('user@example.com', 'Hello', 'Welcome!')

vv5.6.0rc1

Release candidate adds Django connection pooling, fixes nested chords with django-celery-results+Redis, and bumps Kombu to v5.6.0.

  • Upgrade Kombu to v5.6.0 or later; the <5.7 version cap has been removed.
  • Test nested chord workflows if using django-celery-results with Redis backend; a critical fix is included.
vv5.6.0b2

Beta 2 drops Python 3.8 support (now requires ≥3.9) and fixes critical MSSQL overflow, Redis prefetch scope, and group signature ordering bugs.

  • Upgrade to Python 3.9+ before deploying; Python 3.8 is no longer supported or tested in this release.
  • Apply MSSQL result backend fix for arithmetic overflow and Redis credential_provider/client_name configuration options if needed.
vv5.6.0b1

Beta release fixes memory leaks in exception handling and pending results, adds worker_eta_task_limit config, and resolves chord/chain routing bugs.

  • Set worker_eta_task_limit to cap ETA task memory usage if you schedule many future tasks.
  • Upgrade to Kombu v5.6.0b2; fixes include Pydantic integration with __future__.annotations and CouchDB backend forget() TypeError.


[ EXPLORE MORE ]

Related Repositories

Discover similar tools and frameworks used by developers