Last updated:
0 purchases
paperrq 0.8.3
paper-rq
An administrative interface for managing RQ tasks in Paper Admin.
⚠ Default rq.scheduler is not supported! Use rq-scheduler instead.
Compatibility
paper-admin >= 6.0
django-rq >= 2.4
python >= 3.7
Installation
Install the latest release with pip:
pip install paper-rq
Add paper_rq to your INSTALLED_APPS in django's settings.py:
INSTALLED_APPS = (
# ...
"paper_rq",
)
Add paper_rq to your PAPER_MENU:
from paper_admin.menu import Item
PAPER_MENU = [
# ...
Item(
app="paper_rq",
icon="bi-clock-history",
),
# ...
]
Optionally, set paper_rq.jobs.Job as your job class:
RQ = {
"JOB_CLASS": "paper_rq.jobs.Job",
# ...
}
Result
job decorator
The same as RQ's job decorator, but it automatically works out
the connection argument from RQ_QUEUES. It also respects the
RQ.DEFAULT_RESULT_TTL and RQ.DEFAULT_FAILURE_TTL settings.
Example:
import time
from paper_rq.decorators import job
@job("paper:default")
def sleep(delay):
time.sleep(delay)
sleep.delay(5)
RQ Scheduler
First, ensure that you have the rq-scheduler library installed:
pip install rq-scheduler
If you need to run multiple isolated schedulers on the same server, you should
use the class paper_rq.scheduler.Scheduler. This class reads the Redis keys
from the RQ settings:
# settings.py
RQ = {
"JOB_CLASS": "paper_rq.jobs.Job",
"DEFAULT_RESULT_TTL": "7d",
"DEFAULT_FAILURE_TTL": "30d",
"SCHEDULER_CLASS": "paper_rq.scheduler.Scheduler",
"SCHEDULER_LOCK_KEY": "rq:scheduler-1:scheduler_lock",
"SCHEDULER_JOBS_KEY": "rq:scheduler-1:scheduled_jobs",
}
For personal and professional use. You cannot resell or redistribute these repositories in their original state.
There are no reviews.