celery

celery/django-celery-beat

Python No license Dev Tools License not recognized by GitHub

Celery Periodic Tasks backed by the Django ORM

1.9k stars
487 forks
active
GitHub

1.9k

Stars

487

Forks

152

Open issues

30

Contributors

v2.9.0 28 Feb 2026

AI Analysis

django-celery-beat enables scheduling of periodic tasks in Celery using Django's ORM as the backend, allowing task schedules to be managed directly from the Django Admin interface. It serves developers building Django applications that need flexible, database-backed task scheduling with cron-like or interval-based execution. This is specialized for the Django+Celery ecosystem and is not a general-purpose scheduling tool.

Dev Tools Library Discovery value: 3/10
Documentation 8/10
Activity 9/10
Community 8/10
Code quality 5/10

Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.

Overall score 7/10

AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.

celery django-orm task-scheduling periodic-tasks background-jobs
Actively maintained Well documented Niche/specialized use case Production ready
Deep Analysis · Based on README and public signals
1w ago

Database-backed Celery scheduler for Django, eliminating file-based beat config

django-celery-beat allows teams using Django to store and manage Celery periodic task schedules directly in the database instead of hardcoding them in files. This enables runtime schedule modification through the Django Admin interface without restarting beat. Built as an official Celery project extension, it targets Django applications requiring dynamic, UI-managed job scheduling. Adoption appears substantial among organizations already running Celery + Django, though precise usage volume is not publicly documented.

Origin

Created in August 2016 as part of the Celery ecosystem expansion into Django ORM storage backends. Evolved from the need to manage periodic tasks without deploying code changes or beat process restarts, addressing a common operational pain point in Django-based scheduled work systems.

Growth

Modest steady growth: 1,941 stars accumulated over ~10 years suggests stable, selective adoption rather than explosive demand. Maintained by Celery core team, benefiting from Celery's own user base. Recent activity (last push 2026-06-30) and single star gained in 7 days indicates sustained but slow organic growth, typical of mature infrastructure libraries serving an established niche.

In production

Adoption not verified through public documentation. No customer case studies, deployment statistics, or usage metrics provided in README. Presence in Celery's official ecosystem and 1,941 GitHub stars suggests real-world usage among Django+Celery practitioners, but scale and prevalence are not quantified. Project appears to be a 'quiet' infrastructure tool — likely widely used by organizations that have chosen it, but not visible in public discourse.

Code analysis
Architecture

Based on README, appears to provide three core Django models: PeriodicTask (defines individual scheduled tasks), IntervalSchedule (fixed-interval scheduling), and CrontabSchedule (cron-like scheduling), with PeriodicTasks serving as a change-tracking index. Likely uses Django ORM signals or polling to notify the beat service of schedule updates without requiring process restart. Cannot verify implementation quality or completeness from README alone.

Tests

Not documented in README excerpt provided. No testing information, CI/CD details, or coverage metrics visible in the available text.

Maintenance

Push date of 2026-06-30 (current date in evaluation context) indicates active maintenance. Versioned at 2.9.0, suggesting ongoing development cycles. Owned by official Celery project (celery/django-celery-beat namespace) provides institutional continuity. However, minimal growth rate (1 star in 7 days) and sparse recent documentation updates may indicate consolidation phase rather than active feature expansion.

Honest verdict

ADOPT IF: you are already committed to Celery + Django and need the ability to manage periodic task schedules at runtime via a web UI without code deployment or process restarts. The project is official, stable, and fits this specific use case well. AVOID IF: you require frequent feature additions, extensive customization, or need rich scheduling capabilities beyond intervals and cron patterns — the project appears optimized for maintainability over feature velocity. MONITOR IF: you are evaluating Celery alternatives; this project's slow growth and consolidation phase suggest it is mature and unlikely to disappear, but may not be the focus of major new development.

Independent dimensions

Mainstream potential

3/10

Technical importance

6/10

Adoption evidence

4/10

Risks
  • Timezone handling issues documented in README (changing Django TIME_ZONE requires manual database reset), indicating edge cases that may require operational expertise.
  • Limited feature velocity: no evidence of rapid capability expansion; teams needing advanced scheduling logic may outgrow this tool.
  • Adoption not publicly quantified; difficulty assessing community size and third-party ecosystem (plugins, extensions, integrations).
  • Dependency coupling: tight integration with Django ORM and Celery means version compatibility issues could be problematic during major upgrades.
  • Single-database assumption: README does not discuss distributed or multi-database scenarios, which may be a limitation for scaled deployments.
Prediction

Project will likely remain stable and maintained as part of the official Celery ecosystem, serving as the standard database-backed scheduler for Django applications. Expect incremental maintenance and compatibility updates but limited new features. May gradually adopt async/await patterns as Python ecosystem evolves, but architectural fundamentals will persist.

0 found this helpful

Newsletter

Get analyses like this every Monday

Free weekly digest of the most interesting open-source discoveries.

Languages

Python
96.3%
Makefile
1.7%
Dockerfile
0.9%
HTML
0.7%
Shell
0.4%

Information

Language
Python
License
NOASSERTION
Last updated
6d ago
Created
121mo ago
Analyzed with
anthropic/claude-haiku-4-5

Stars over time

Loading…

Contributors over time

Top 100 contributors only — repos with more will plateau at 100.

Loading…

Similar repos

celery

celery/celery

Celery is a distributed task queue library for Python that enables asynchronous...

28.7k Python DevOps
procrastinate-org

procrastinate-org/procrastinate

Procrastinate is a PostgreSQL-backed distributed task queue for Python...

1.3k Python Dev Tools
django-treebeard

django-treebeard/django-treebeard

django-treebeard provides three efficient tree data structure implementations...

1.2k Python Web Dev
healthchecks

healthchecks/healthchecks

Healthchecks is an open-source cron job and background task monitoring service...

10.1k Python DevOps
cookiecutter

cookiecutter/cookiecutter-django

Cookiecutter Django is a project template generator that jumpstarts...

13.6k Python Web Dev
vs. alternatives
APScheduler

Standalone Python scheduler with database backend support; requires separate integration layer with Django, whereas django-celery-beat is native to Django ORM and integrates directly with Celery beat.

Celery Beat (file-based default)

Native Celery scheduler; stores schedules in static files and requires process restart to update. django-celery-beat replaces this with dynamic database storage and runtime reconfiguration.

procrastinate

PostgreSQL-native job queue for async tasks; designed as Celery alternative with SQL-first approach, not a drop-in scheduler for existing Celery deployments.

django-crontab

Manages cron jobs from Django settings; simpler than Celery but lacks distributed task queue and message broker capabilities.

Prefect / Airflow

Enterprise workflow orchestration platforms; orders of magnitude more complex, targeted at data engineering pipelines rather than application-level periodic tasks in Django.