paper-rq 0.8.3

Creator: codyrutscher

Last updated:

Add to Cart

Description:

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",
}

License

For personal and professional use. You cannot resell or redistribute these repositories in their original state.

Customer Reviews

There are no reviews.