Skip to main content

z4j-celerybeat

PyPI version Python License

The Celery Beat scheduler adapter for z4j.

Surfaces periodic / crontab / one-shot Celery schedules on the dashboard's Schedules page, read, create, update, enable, disable, trigger, delete. Supports both Celery's static app.conf.beat_schedule and the database-backed django_celery_beat.models.PeriodicTask.

Compatibility

  • Celery 5.3+ (no upper cap)
  • django-celery-beat 2.5+ (for the writable backend)
  • Python 3.11+

Full per-adapter matrix at https://docs.z4j.com/reference/compatibility/.

What it ships

Capability Notes
List schedules from both static config and django-celery-beat
Read individual schedule by id
Create schedule django-celery-beat backend (static is read-only)
Update interval / crontab / args / kwargs / enabled flag
Enable / disable via the PeriodicTask.enabled field
Trigger now fires the underlying task immediately, outside the schedule
Delete django-celery-beat backend
Live sync in-process django-celery-beat saves/deletes are reported best-effort through Django signals; periodic snapshots reconcile the source
Boot inventory full snapshot at agent connect; existing schedules show up without editing

Static beat_schedule is read-only by design, you can view and trigger, but create / update / delete / enable / disable all need django-celery-beat (or a source-code edit and deploy round-trip). The dashboard hides buttons it can't honor.

Install

pip install z4j-celery z4j-celerybeat

With django-celery-beat (most Django projects)

# settings.py
INSTALLED_APPS = [
    # ...
    "django_celery_beat",
    "z4j_django",
]

After the agent connects, its inventory snapshot includes existing PeriodicTask rows. Dashboard changes write through to the database. Saves and deletes in a process where the adapter's hooks are connected are reported best-effort through Django signals; later inventory snapshots reconcile the database source as well.

With static beat_schedule (plain Celery)

import os

from celery import Celery
from z4j_bare import install_agent
from z4j_celery import CeleryEngineAdapter
from z4j_celerybeat import CeleryBeatSchedulerAdapter

app = Celery("myproject", broker="redis://localhost")
app.conf.beat_schedule = {
    "cleanup-every-5-minutes": {
        "task": "myapp.tasks.cleanup",
        "schedule": 300.0,
    },
}

install_agent(
    engines=[CeleryEngineAdapter(celery_app=app)],
    schedulers=[CeleryBeatSchedulerAdapter(celery_app=app)],
    brain_url="https://brain.example.com",
    token="z4j_agent_...",
    project_id="my-project",
    hmac_secret=os.environ["Z4J_HMAC_SECRET"],
)

Pairs with

Reliability

  • Direct application writes to PeriodicTask keep normal Django ORM semantics; reporting their post-save/post-delete signals to z4j is best-effort and does not roll back those writes.
  • Dashboard controls execute in the agent process through the Django ORM. A mutation that exceeds its 10-second timeout is reported as indeterminate because its worker thread may still commit it.

Documentation

Full docs at docs.z4j.com/schedulers/celery-beat/.

License

Apache-2.0, see LICENSE.

Metadata

Release files for z4j-celerybeat 1.12.0

For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.

Source distribution (sdist)

Source distribution for z4j-celerybeat 1.12.0
File Size Uploaded
z4j_celerybeat-1.12.0.tar.gz 32.5 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for z4j-celerybeat 1.12.0
File Interpreter ABI Platform
z4j_celerybeat-1.12.0-py3-none-any.whl Python 3 none any Details

Total release size: 59.9 kB

Release files / z4j_celerybeat-1.12.0.tar.gz

Download URL z4j_celerybeat-1.12.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
339af51cebcab219632d26e55a4edab5b1a940973b4478420261aa34bda15712
BLAKE2b-256 checksum
How to use checksums
672259786c971d76928947ba9b438a99b6ebfe9481246a2536536481863d2a54
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release files / z4j_celerybeat-1.12.0-py3-none-any.whl

Download URL z4j_celerybeat-1.12.0-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
4979d027fdb1b1ed97076963ba423c6b30977fd6763c46aa6017c9105d0fc931
BLAKE2b-256 checksum
How to use checksums
dac2c44e3eed650ded5730bfde0b68e4dae8691cfefe54cd02ed0de1d52ba265
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/7.0.0 CPython/3.14.7

Release history Release notifications | RSS feed

This release

1.12.0 This release

2 release files

1.11.0

2 release files

1.10.0

2 release files

1.9.1

2 release files

1.9.0

2 release files

1.8.0

2 release files

1.7.0

2 release files

1.6.7

2 release files

1.6.0

2 release files

1.5.0

2 release files

1.4.0

2 release files

1.3.0

2 release files

1.1.0

2 release files

1.0.2

2 release files

1.0.1

2 release files

1.0.0

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page