A Django app for running periodic or one off jobs.
Project description
Simple async jobs is a Django app that provides you a simple way for running periodic and one off jobs using django management commands.
Quick start
Add “simple_jobs” to your INSTALLED_APPS setting like this:
INSTALLED_APPS = [ ... 'simple_jobs', ]
Setup the following settings:
JOB_POLLER_TIMEOUT_BEFORE_KILLED = 60 DEFAULT_LOGGER_NAME = "jobs" PERIODIC_JOBS_LOGGER_NAME = "periodic_jobs" ONE_OFF_JOBS_LOGGER_NAME = "one_off_jobs" DEFAULT_MAX_ONE_OFF_JOBS_RUNS_PER_LIFE = 10 DEFAULT_MAX_PERIODIC_JOBS_RUNS_PER_LIFE = 50 DEFAULT_MAX_JOB_RETRIES = 6 DEFAULT_JOB_RETRY_SECONDS_INTERVAL = 900
Run python manage.py migrate to create the jobs models.
Start the development server and visit http://127.0.0.1:8000/admin/ to create a Job (you’ll need the Admin app enabled).
Run the python manage.py one_off_job_poller or python manage.py periodic_job_poller.
It’s recommended to use one of the django management commands as CMD for docker container in docker-compose config with parameter restart=always. Example:
worker-one-off-jobs: build: . container_name: "worker-one-off" restart: "always" command: python manage.py one_off_job_poller
The lifetime of container consists of the following:
1) retrieve jobs 2) execute jobs until the limit is hit 3) sleep for time specified in settings 4) exit
Once container is dead it will be launched again by docker-compose.
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
File details
Details for the file django-simple-async-jobs-0.1.2.tar.gz
.
File metadata
- Download URL: django-simple-async-jobs-0.1.2.tar.gz
- Upload date:
- Size: 7.5 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/4.0.2 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9f3e32542354fb1a3883193045caebbe3eb7facf7fc749789795068917596b1b |
|
MD5 | 08208280f33855b58c873d68ae6061a3 |
|
BLAKE2b-256 | 979865c5e298573387a316a0542a1d6cc2c989e1b107c6e275579082ad8aef34 |