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 details)

Uploaded Source

Built Distribution

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

Uploaded Python 2 Python 3

File details

Details for the file paper-rq-0.8.3.tar.gz.

File metadata

  • Download URL: paper-rq-0.8.3.tar.gz
  • Upload date:
  • Size: 22.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/4.0.2 CPython/3.10.12

File hashes

Hashes for paper-rq-0.8.3.tar.gz
Algorithm Hash digest
SHA256 2eea49b11a408272661df24d9a21f6492dd72d38bd864af34fe70144727b375d
MD5 6e97a362d0b0f56e133f61de0d01714e
BLAKE2b-256 66e64928bef67ef1119133a0eddab9d14692ac4c3bc4a34ad252f555ac63b901

See more details on using hashes here.

File details

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

File metadata

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

File hashes

Hashes for paper_rq-0.8.3-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 bf1bcdcf4a5750f4f00068b36f03d0c18bdad490344d5820f9371d1b05bfccec
MD5 4b37f485e2356883b4536a153dc6b793
BLAKE2b-256 abd2ebbc809a1d7215efdc81c2f06aea3319f99a4536b0d9ea0e78eca4b5dca0

See more details on using hashes here.

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