A database backed job scheduler for Django RQ with Django
Project description
Django RQ Scheduler
A database backed job scheduler for Django RQ. Based on original django-rq-scheduler - Now supports Django 4.0.
Requirements
Currently, when you pip install Django RQ Scheduler the following packages are also installed.
- django >= 3.2
- django-model-utils >= 4.2.0
- django-rq >= 2.4.1
- rq-scheduler >= 0.11.0
- pytz >= 2021.3
- croniter >= 1.2.0
Testing also requires:
- factory_boy >= 2.11.1
Usage
Install
Use pip to install:
pip install django-rq-scheduler
Update Django Settings
-
In
settings.py
, adddjango_rq
andscheduler
toINSTALLED_APPS
:INSTALLED_APPS = [ ... 'django_rq', 'scheduler', ... ]
-
Configure Django RQ. See https://github.com/ui/django-rq#installation
Migrate
The last step is migrate the database:
./manage.py migrate
Creating a Job
See http://python-rq.org/docs/jobs/ or https://github.com/ui/django-rq#job-decorator
An example:
myapp.jobs.py
@job
def count():
return 1 + 1
Scheduling a Job
Scheduled Job
-
Sign into the Django Admin site, http://localhost:8000/admin/ and locate the Django RQ Scheduler section.
-
Click on the Add link for Scheduled Job.
-
Enter a unique name for the job in the Name field.
-
In the Callable field, enter a Python dot notation path to the method that defines the job. For the example above, that would be
myapp.jobs.count
-
Choose your Queue. Side Note: The queues listed are defined in the Django Settings.
-
Enter the time the job is to be executed in the Scheduled time field. Side Note: Enter the date via the browser's local timezone, the time will automatically convert UTC.
-
Click the Save button to schedule the job.
Repeatable Job
-
Sign into the Django Admin site, http://localhost:8000/admin/ and locate the Django RQ Scheduler section.
-
Click on the Add link for Repeatable Job
-
Enter a unique name for the job in the Name field.
-
In the Callable field, enter a Python dot notation path to the method that defines the job. For the example above, that would be
myapp.jobs.count
-
Choose your Queue. Side Note: The queues listed are defined in the Django Settings.
-
Enter the time the first job is to be executed in the Scheduled time field. Side Note: Enter the date via the browser's local timezone, the time will automatically convert UTC.
-
Enter an Interval, and choose the Interval unit. This will calculate the time before the function is called again.
-
In the Repeat field, enter the number of time the job is to be ran. Leaving the field empty, means the job will be scheduled to run forever.
-
Click the Save button to schedule the job.
Reporting issues or Features
Please report issues via GitHub Issues .
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
Hashes for django-rq-scheduler-2022.4.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 9a4a1c0dba150c8711a092063e7d0949a960a8a38165c5b1b1de1278e8671a43 |
|
MD5 | 8d30fc21aa6c2a688d9fe47340a29380 |
|
BLAKE2b-256 | c148eaeca5f3b4260cdb86780973d34f77c735e21bf82aae1353341764a4cc74 |
Hashes for django_rq_scheduler-2022.4-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4ad76623d1fbceb3f0e88fe1032dda0d9a4a482634616de44b0b3d03c4de0fcc |
|
MD5 | 24d6f9501912696d418a4146dd0418b0 |
|
BLAKE2b-256 | d0d51ab72a5a3d94c999567225c22d6a199f169543bdf3316975a53ce9052eb3 |