Skip to main content

An administrative interface for managing RQ tasks in Paper Admin

Project description

paper-rq

An administrative interface for managing RQ tasks in Paper Admin.

⚠ Default rq.scheduler is not supported! Use rq-scheduler instead.

PyPI Build Status Software license

Compatibility

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

4d17958f25.png

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

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

paper-rq-0.8.3.tar.gz (22.3 kB view hashes)

Uploaded Source

Built Distribution

paper_rq-0.8.3-py2.py3-none-any.whl (24.5 kB view hashes)

Uploaded Python 2 Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page