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.5.1.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 42732b915cd214e6389a115e3c623ea5841408b1e6c1d0ce719394db71b2d5aa |
|
MD5 | 0f9008582f4f2fba2044da97c2fea2c3 |
|
BLAKE2b-256 | 558970c7279e8149d748f861a0e31ec0b52be9686f897e70e59b15ad6bb1a31d |
Hashes for django_rq_scheduler-2022.5.1-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 283702038d20f7fa9e37839b7ae000163c85292ba82ba4212d99fcfccf542958 |
|
MD5 | 7bca5e995229147470987ec66cf0aa92 |
|
BLAKE2b-256 | 6a274275fa24b0c85fe679ee37c3837c781eb4f9a72dcbb85ca169f877153c43 |