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.

Links

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

z4j_celerybeat-1.9.1.tar.gz (32.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

z4j_celerybeat-1.9.1-py3-none-any.whl (27.4 kB view details)

Uploaded Python 3

File details

Details for the file z4j_celerybeat-1.9.1.tar.gz.

File metadata

  • Download URL: z4j_celerybeat-1.9.1.tar.gz
  • Upload date:
  • Size: 32.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for z4j_celerybeat-1.9.1.tar.gz
Algorithm Hash digest
SHA256 929a5d68c42503b777997efa03c19a393aa0ffe8b3cc23db369b844ae5d1aa6c
MD5 7f6a3325a473e6a418caaae7042fd82b
BLAKE2b-256 f0134f1439f26d0252cd48f5c608cdd9f4b79d38f46105dabba4a626b637e5c8

See more details on using hashes here.

File details

Details for the file z4j_celerybeat-1.9.1-py3-none-any.whl.

File metadata

  • Download URL: z4j_celerybeat-1.9.1-py3-none-any.whl
  • Upload date:
  • Size: 27.4 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/7.0.0 CPython/3.14.7

File hashes

Hashes for z4j_celerybeat-1.9.1-py3-none-any.whl
Algorithm Hash digest
SHA256 32697a85f3d7705a4b1fbd6689b6c029c03792a0bd9979ec0517a1927f99de56
MD5 1dc57c02d0fc1e54d0a07ee619ce686d
BLAKE2b-256 44c48920758e116950dae4dc18a29977fb62b5a5519d42b3d37c0d6ce56ef06b

See more details on using hashes here.

Release history Release notifications | RSS feed

1.10.0

2 files

This release

1.9.1 This release

2 files

1.9.0

2 files

1.8.0

2 files

1.7.0

2 files

1.6.7

2 files

1.6.0

2 files

1.5.0

2 files

1.4.0

2 files

1.3.0

2 files

1.1.0

2 files

1.0.2

2 files

1.0.1

2 files

1.0.0

2 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