z4j Celery-beat scheduler adapter (Apache 2.0)
Project description
z4j-celerybeat
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.
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 is_enabled toggle |
| Trigger now | fires the underlying task immediately, outside the schedule |
| Delete | django-celery-beat backend |
| Live sync | django-celery-beat changes flow to the dashboard automatically |
| Boot inventory | full snapshot at agent connect; existing schedules show up without editing |
Static beat_schedule is read-only by design, you can view, enable,
disable, and trigger, but create / update / delete need a 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",
]
The Schedules page picks up every PeriodicTask row immediately. Edits
flow both ways, dashboard changes write through to the database, and
changes written directly to the model surface via Django signals.
With static beat_schedule (plain Celery)
from celery import Celery
from z4j_bare import install_agent
from z4j_celery import CeleryEngineAdapter
from z4j_celerybeat import CeleryBeatAdapter
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=[CeleryBeatAdapter(celery_app=app)],
brain_url="https://brain.example.com",
token="z4j_agent_...",
project_id="my-project",
)
Pairs with
z4j-celery, engine adapter
Reliability
- No exception from the adapter ever propagates back to Celery Beat,
Django request handlers, or
PeriodicTasksignal receivers. - Database writes for
PeriodicTaskhappen in the dashboard's request context with normal Django ORM semantics, even if z4j is unreachable, the local model write is never affected.
Documentation
Full docs at z4j.dev/schedulers/celery-beat/.
License
Apache-2.0, see LICENSE.
Links
- Homepage: https://z4j.com
- Documentation: https://z4j.dev
- PyPI: https://pypi.org/project/z4j-celerybeat/
- Issues: https://github.com/z4jdev/z4j-celerybeat/issues
- Changelog: CHANGELOG.md
- Security: security@z4j.com (see SECURITY.md)
Project details
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file z4j_celerybeat-1.4.0.tar.gz.
File metadata
- Download URL: z4j_celerybeat-1.4.0.tar.gz
- Upload date:
- Size: 24.1 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
695f27a329010933a068e1dc38f66ff7b5e3d340d6b8282261696b0479351790
|
|
| MD5 |
df5757f3572dac1c76ebe0cf22f3380a
|
|
| BLAKE2b-256 |
39aa831ea9178ab32a5d61c3a1b5bf2118d74871888489a1617e37db00b6d161
|
File details
Details for the file z4j_celerybeat-1.4.0-py3-none-any.whl.
File metadata
- Download URL: z4j_celerybeat-1.4.0-py3-none-any.whl
- Upload date:
- Size: 21.1 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.2.0 CPython/3.14.4
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
2ec42a52fccdecec57b73cc6e1c720c4bef8b0e81cce29936552d38da0296f0e
|
|
| MD5 |
f6f4a7e892eebbeff76d8a0a0c3298da
|
|
| BLAKE2b-256 |
09bb712545f24c8be69ec6b0dc9314dc8aba363ee15755b8c0f70b27223a4f7b
|