Skip to content

About

z4j scheduler adapter for arq cron jobs (Apache 2.0)

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

22 Commits

Folders and files

Repository files navigation

z4j-arqcron

PyPI version Python License

The arq cron-jobs scheduler adapter for z4j.

Surfaces registered cron jobs from your arq WorkerSettings class that the adapter can map on the dashboard's Schedules page, read-only (list and read).

Compatibility

  • arq 0.26+ (no upper bound)
  • Python 3.11+

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

What it ships

Capability Notes
List schedules registered cron_jobs entries that the adapter can map
Read by registered name
Boot inventory full snapshot at agent connect; existing cron jobs show up without editing

This adapter is read-only by design. arq cron jobs are defined declaratively on the WorkerSettings class, and arq exposes no runtime enable/disable toggle or trigger-now primitive, so create / update / delete / enable / disable / trigger now are all out of scope, those need a deploy round-trip (or, for a one-off run, enqueue the underlying coroutine via ArqRedis.enqueue_job()). The dashboard hides buttons it can't honor.

Install

pip install z4j-arq z4j-arqcron
import os

from arq import cron
from z4j_bare import install_agent
from z4j_arq import ArqEngineAdapter
from z4j_arqcron import ArqCronAdapter

async def cleanup(ctx):
    ...

class WorkerSettings:
    redis_settings = ...  # arq.connections.RedisSettings
    functions = [cleanup]
    cron_jobs = [
        cron(cleanup, minute=set(range(0, 60, 5))),
    ]

install_agent(
    engines=[
        ArqEngineAdapter(
            redis_settings=WorkerSettings.redis_settings,
            function_names=["cleanup"],
        ),
    ],
    schedulers=[ArqCronAdapter(cron_jobs=WorkerSettings.cron_jobs)],
    brain_url="https://brain.example.com",
    token="z4j_agent_...",
    project_id="my-project",
    hmac_secret=os.environ["Z4J_HMAC_SECRET"],
)

Pairs with

Reliability

  • The cron-jobs registry is read-only at runtime; inventory reads do not rewrite WorkerSettings. A mapping failure aborts the authoritative snapshot so one bad row cannot false-delete a live schedule from the brain mirror.

Documentation

Full docs at docs.z4j.com/schedulers/arq-cron/.

License

Apache-2.0, see LICENSE.

Links

About

z4j scheduler adapter for arq cron jobs (Apache 2.0)

Topics

Resources

Security policy

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages