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.6.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | ccd574063534781bdc60eefd2ab5ce496e0c896e34d142ecce97979fe51e627e |
|
MD5 | f9620abeb95c8fda18dec970a916a70b |
|
BLAKE2b-256 | 51f93f24eecb214bac540c78dcf7387fab9bdff7495a9fe81d35921ae8d98c62 |