Skip to main content
django-dbcron
=============

Manage crontab directly from your Django database

Why
---

They are plenty of implementation of crontabs in Python and Django, but our
issue was their elasticity. Generally a set of classes will allow you to
create a crontab, here in django-dbcron, things are stored in database
instead of Python classes.


Installation
------------

Classic pip install: ::

pip install django-dbcron


Add it to you ``INSTALLED_APPS``: ::

INSTALLED_APPS = (
...
'dbcron',
...
)

Launch migrations: ::

./manage.py migrate dbcron

Usage
-----

This app owns its own cron daemon, launch it with: ::

./manage.py crond

The daemon will act as a classic cron and will run each task in a new thread,
leaving the main one continuing.

From admin
~~~~~~~~~

The cron table is set in database and the Django admin site is a quick
solution to manage you jobs.

From Python
~~~~~~~~~~

Just play with the model: ::

from dbcron.models import Job

# Run now() each minute
job = Job.object.create(
name='My job',
func='django.utils.timezone.now',
is_active=True,
sec="0",
min="*/1,
hou="*",
dom="*",
mon="*",
dow="*",
yea="*"
)

# Test it
job.run()

Warning
-------

The cron daemon launches jobs as they are requested with:

- function's path
- arguments and keyword arguments

There's no security about who/when/how, just functions launched abritairly,
Be careful who can set crontab, and do not hesitate to limit possible values.

Metadata

Release files for django-dbcron 0.5.3

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

Source distribution (sdist)

Source distribution for django-dbcron 0.5.3
File Size Uploaded Provenance Actions
django-dbcron-0.5.3.tar.gz 12.9 kB Without provenance Details for django-dbcron-0.5.3.tar.gz

Release files / django-dbcron-0.5.3.tar.gz

Download URL django-dbcron-0.5.3.tar.gz
Size 12.9 kB
Tags Source
SHA-256 checksum
How to use checksums
352e279e82bf10883c944b3af34d68b7dfa4ea2562a1e49a3b21b2467964b169
BLAKE2b-256 checksum
How to use checksums
3eb929230bfbcd2d2e42ce330e845d572d6a52b3ed5dfa148633271309db137a
Upload date
Uploaded using Trusted Publishing?
What is trusted publishing?
No
Uploaded via twine/1.9.1 pkginfo/1.4.1 requests/2.18.4 setuptools/40.5.0 requests-toolbelt/0.8.0 tqdm/4.19.4 CPython/3.5.2

Security for django-dbcron 0.5.3

Provenance

Provenance describes where a file came from. On PyPI, provenance is shared via attestations, which provide a verifiable record of the build or publishing details. View details, limitations and caveats.

No provenance found

None of the files in this release were uploaded with provenance metadata.

A note on package security

PyPI is a repository for distributing packages, not a service for auditing them. While third-party security researchers and our staff do their best to detect and remove malicious packages, PyPI cannot guarantee the quality, security or suitability of any given package.

To learn more about protecting yourself from malicious actors, visit our package security documentation.

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