bisibility — Track Google rankings and Search Console insights. Free during beta.
Try bisibility freeOur product
Favicon of RQ (Redis Queue)

RQ (Redis Queue)

PublishedLast updated

RQ is a lightweight Python library for queueing jobs and processing them in the background with Redis-backed workers.

Screenshot of RQ (Redis Queue) website

RQ (Redis Queue) is a simple, lightweight task queue that lets Python developers enqueue and process background jobs with minimal setup.

Key Features:

  • Minimal API - Enqueue any Python function with a single call and retrieve results when ready.
  • Job Scheduling - Schedule tasks to execute at specific times or after configurable delays.
  • Automatic Retries - Configure retry policies with custom intervals for failed jobs.
  • Repeating Jobs - Run tasks multiple times after successful completion with flexible intervals.
  • Worker Management - Run worker processes; each worker processes one job at a time.
  • Redis-Backed - Leverage Redis for fast, reliable message transport and result storage.

Whether you're processing scraped data, running batch transforms, or handling background tasks, RQ provides a clean, Pythonic interface without complex configuration.

Web scraping workflow

How to use RQ (Redis Queue) in a web scraping pipeline

RQ queues Python function calls and processes them with background workers backed by Redis or Valkey. A scraping application can enqueue collection work while returning a job reference immediately to its caller.

A practical workflow

  1. Enqueue a function with a source URL, extraction version and stable result key.
  2. An RQ worker calls your HTTP client or browser routine, parses the response and validates the record.
  3. Save the data in a database or object store and expose a compact completion or failure result to the application.

When it fits

This is useful for an existing Python service with independent page-refresh jobs. The queued unit can remain an ordinary function, which makes the acquisition and parsing logic straightforward to exercise directly during development.

Boundaries

RQ does not implement selectors, rendering or a distributed crawl frontier. Operate its backing store and workers, configure retries where needed and preserve results outside transient job metadata. Use idempotent writes and explicit per-domain pacing so repeated or concurrent jobs do not create duplicate records or uncontrolled requests.

Categories:
Features:
Job QueueSchedulingBatch ProcessingConcurrency ControlOpen SourcePython SDKAutomatic Retries

Share:

bisibility

Growing a website? Track its keywords, Google rankings, Search Console insights, and share of voice with bisibility. Free during beta.

Try bisibility freeOur product

Repository

rq/rq

  • Stars

    10.7K
  • Forks

    1.5K
  • Last commit

    2026-10-12
  • License

    BSD-2-Clause
  • Language

    Python

Metrics recorded 2026-10-16

Repository details

Last push: 2026-10-14

License source: Repository license file

View Repository

Sources

github.com

Verified against the rq/rq repository and the PyPI package.