Celery Periodic Tasks backed by the Django ORM
1.9k
Stars
487
Forks
152
Open issues
30
Contributors
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.
Inferred from signals mentioned in the README (tests, CI, type safety) — not a review of the actual code.
AI's overall editorial judgment — not an average of the bars above, can weigh other factors too.
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.
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.
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.
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.
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.
Not documented in README excerpt provided. No testing information, CI/CD details, or coverage metrics visible in the available text.
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.
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
- 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.
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.
Newsletter
Get analyses like this every Monday
Free weekly digest of the most interesting open-source discoveries.
Languages
Information
- Language
- Python
- License
- NOASSERTION
- Last updated
- 6d ago
- Created
- 121mo ago
- Analyzed with
- anthropic/claude-haiku-4-5
Stars over time
Contributors over time
Top 100 contributors only — repos with more will plateau at 100.
Open issues
Recent releases
Similar repos
procrastinate-org/procrastinate
Procrastinate is a PostgreSQL-backed distributed task queue for Python...
django-treebeard/django-treebeard
django-treebeard provides three efficient tree data structure implementations...
healthchecks/healthchecks
Healthchecks is an open-source cron job and background task monitoring service...
| Repository | Stars | Week Δ | Language | Score | Updated |
|---|---|---|---|---|---|
|
|
1.9k | — | Python | 7/10 | 6d ago |
|
|
28.7k | — | Python | 8/10 | 22h ago |
|
|
1.3k | — | Python | 8/10 | 4d ago |
|
|
1.2k | — | Python | 8/10 | 2w ago |
|
|
10.1k | — | Python | 8/10 | 21h ago |
|
|
13.6k | — | Python | 8/10 | 15h ago |
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.
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.
PostgreSQL-native job queue for async tasks; designed as Celery alternative with SQL-first approach, not a drop-in scheduler for existing Celery deployments.
Manages cron jobs from Django settings; simpler than Celery but lacks distributed task queue and message broker capabilities.
Enterprise workflow orchestration platforms; orders of magnitude more complex, targeted at data engineering pipelines rather than application-level periodic tasks in Django.