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://z4j.dev/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 z4j.dev/schedulers/celery-beat/.

License

Apache-2.0, see LICENSE.

Metadata

Release files for z4j-celerybeat 1.11.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.11.0
File Size Uploaded
z4j_celerybeat-1.11.0.tar.gz 32.5 kB Details

Built distribution (wheel)

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

Total release size: 59.9 kB

Release files / z4j_celerybeat-1.11.0.tar.gz

Download URL z4j_celerybeat-1.11.0.tar.gz
Size 32.5 kB
Tags Source
SHA-256 checksum
How to use checksums
91e63494c6dd76f445936e3ef24124122a6972093e4ad0ca4e32204e451e4186
BLAKE2b-256 checksum
How to use checksums
c2de20a29ee497a6e58ec9c2f272032a8f45d78412db5a2e46276f20bd000114
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.11.0-py3-none-any.whl

Download URL z4j_celerybeat-1.11.0-py3-none-any.whl
Size 27.4 kB
Tags Python 3
SHA-256 checksum
How to use checksums
1aa66141ecabf038ffff9f9c1971ffbe2393ffc48b68afc39c6221fe62d17c16
BLAKE2b-256 checksum
How to use checksums
ba3246d35e014b5fc467bd6cc1b54d7f9fd626dcf12265117f8fb2734f2e8115
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.11.0 This release

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