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.5.tar.gz (22.9 kB view details)

Uploaded Source

Built Distribution

paper_rq-0.8.5-py2.py3-none-any.whl (24.9 kB view details)

Uploaded Python 2Python 3

File details

Details for the file paper_rq-0.8.5.tar.gz.

File metadata

  • Download URL: paper_rq-0.8.5.tar.gz
  • Upload date:
  • Size: 22.9 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for paper_rq-0.8.5.tar.gz
Algorithm Hash digest
SHA256 d9e39bd6e6995ecb2e4834e75c9234887724f688ab482780d37c776cbbed105a
MD5 f0d39429d69f7f3d4f53cfba26eb62b8
BLAKE2b-256 0603480c1a04595943a60f5aa3c9be2e227c784aa37726f1be9f9c4f641ba33f

See more details on using hashes here.

File details

Details for the file paper_rq-0.8.5-py2.py3-none-any.whl.

File metadata

  • Download URL: paper_rq-0.8.5-py2.py3-none-any.whl
  • Upload date:
  • Size: 24.9 kB
  • Tags: Python 2, Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.0.1 CPython/3.10.12

File hashes

Hashes for paper_rq-0.8.5-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 7dcfc0a5f1d138d1d9e2920e3589dabc28b2cfd6c069edf359fb98183ff0b30d
MD5 8f4f3e907b8021926af8aaed7a4a35f1
BLAKE2b-256 814c2d49a8ce463bfc834892f4bfdc13ff40dbed199c00ea80a438bbb14a484b

See more details on using hashes here.

Supported by

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