A database backed job scheduler for Django RQ
Project description
# Django RQ Scheduler
A database backed job scheduler for Django RQ.
## Requirements
Currently, when you pip install Django RQ Scheduler the following packages are also installed.
* django >= 1.9
* django-model-utils >= 2.4
* django-rq >= 0.9 (Django RQ requires RQ >= 0.5.5)
* rq_scheduler >= 0.6.0
* pytz >= 2015.7
Testing also requires:
* factory_boy >= 2.6.1
* psycopg2 >= 2.6.1
## Usage
### Install
Use pip to install:
```
pip install django-rq-scheduler
```
### Update Django Settings
1. In `settings.py`, add `django_rq` and `scheduler` to `INSTALLED_APPS`:
```
INSTALLED_APPS = [
...
'django_rq',
'scheduler',
...
]
```
2. 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
1. Sign into the Django Admin site, http://localhost:8000/admin/ and locate the **Django RQ Scheduler** section.
2. Click on the **Add** link for Scheduled Job.
3. Enter a unique name for the job in the **Name** field.
4. 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`
5. Choose your **Queue**. Side Note: The queues listed are defined in the Django Settings.
6. 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.
7. Click the **Save** button to schedule the job.
### Repeatable Job
1. Sign into the Django Admin site, http://localhost:8000/admin/ and locate the **Django RQ Scheduler** section.
2. Click on the **Add** link for Repeatable Job
3. Enter a unique name for the job in the **Name** field.
4. 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`
5. Choose your **Queue**. Side Note: The queues listed are defined in the Django Settings.
6. 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.
7. Enter an **Interval**, and choose the **Interval unit**. This will calculate the time before the function is called again.
8. 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.
9. Click the **Save** button to schedule the job.
## Reporting issues or Features
Please report issues via [GitHub Issues](https://github.com/istrategylabs/django-rq-scheduler/issues) .
A database backed job scheduler for Django RQ.
## Requirements
Currently, when you pip install Django RQ Scheduler the following packages are also installed.
* django >= 1.9
* django-model-utils >= 2.4
* django-rq >= 0.9 (Django RQ requires RQ >= 0.5.5)
* rq_scheduler >= 0.6.0
* pytz >= 2015.7
Testing also requires:
* factory_boy >= 2.6.1
* psycopg2 >= 2.6.1
## Usage
### Install
Use pip to install:
```
pip install django-rq-scheduler
```
### Update Django Settings
1. In `settings.py`, add `django_rq` and `scheduler` to `INSTALLED_APPS`:
```
INSTALLED_APPS = [
...
'django_rq',
'scheduler',
...
]
```
2. 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
1. Sign into the Django Admin site, http://localhost:8000/admin/ and locate the **Django RQ Scheduler** section.
2. Click on the **Add** link for Scheduled Job.
3. Enter a unique name for the job in the **Name** field.
4. 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`
5. Choose your **Queue**. Side Note: The queues listed are defined in the Django Settings.
6. 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.
7. Click the **Save** button to schedule the job.
### Repeatable Job
1. Sign into the Django Admin site, http://localhost:8000/admin/ and locate the **Django RQ Scheduler** section.
2. Click on the **Add** link for Repeatable Job
3. Enter a unique name for the job in the **Name** field.
4. 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`
5. Choose your **Queue**. Side Note: The queues listed are defined in the Django Settings.
6. 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.
7. Enter an **Interval**, and choose the **Interval unit**. This will calculate the time before the function is called again.
8. 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.
9. Click the **Save** button to schedule the job.
## Reporting issues or Features
Please report issues via [GitHub Issues](https://github.com/istrategylabs/django-rq-scheduler/issues) .
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
Built Distribution
Close
Hashes for readwise-django-rq-scheduler-1.1.3.tar.gz
Algorithm | Hash digest | |
---|---|---|
SHA256 | 3225e306db8430089b0da3c05ad9263226e9044508a007f0c72ed8de78921762 |
|
MD5 | 5cadd448ad844fa301a3e66eb311b6df |
|
BLAKE2b-256 | 87c41e98dc4c32e63794b55b8c2b6c9de3ec309e2d9923f1c5b88fce96c43929 |
Close
Hashes for readwise_django_rq_scheduler-1.1.3-py2.py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 4a26842cc36f5da211c1fea8c48145824d33b4ec68d2077af500551830ebdceb |
|
MD5 | a66a197b4cb812070e052b3876a2ee5d |
|
BLAKE2b-256 | 1d62ca29eba7b6cb6a1b89d8d8810bbfd5bf7d1dc0dca744ed8d33f1b35b96f6 |