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.
Installation
pip install django-simple-async-jobs
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
Hashes for django-simple-async-jobs-0.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | fa814d9594f44b6654a8da80b9701770416d6de05d1f514ba0e52d79a65ca72c |
|
MD5 | 40c8b608eb30cb3f52d8ed7bd38cfe0f |
|
BLAKE2b-256 | 2d105cabbf564f1918748a34454f1c94ce9cbc5c9343d62cbab94a9028aa90c7 |