Skip to main content

simplebroker-redis

Valkey/Redis backend extension for SimpleBroker.

This package exposes the public SimpleBroker backend name redis. It targets Valkey 7.x and Redis 7.x and the test suite runs against Valkey.

Requirements

  • Python 3.11+
  • Valkey 7.x or Redis 7.x

Durability depends on the server configuration. A Valkey or Redis deployment without AOF/RDB persistence can lose messages on restart. Use SQLite or Postgres when you need storage durability from the broker stack by default.

Regular broker commands use a redis-py BlockingConnectionPool owned by the process-local Redis runner. Pub/Sub wake hints use a separate dedicated connection because subscribed Redis connections cannot serve normal commands.

Pool defaults:

  • max_connections = 50
  • pool_timeout = BROKER_BUSY_TIMEOUT / 1000

The defaults can be overridden in project backend options:

[backend_options]
namespace = "simplebroker_redis_v1"
max_connections = 50
pool_timeout = 5.0

Pool exhaustion is bounded by pool_timeout and surfaces as an operational error from broker operations.

Concurrency semantics

Queue deletion is atomic per queue. delete() first snapshots the queue registry, then one Lua invocation per selected queue rechecks active at-least-once reservations and removes that queue's pending, claimed, body, and global-ID state together. A queue created after the registry snapshot is outside the operation and is not deleted. If a reservation starts between per-queue invocations, deletion stops with an error; queues already processed remain deleted, while that reserved queue and later queues remain intact.

Patternless broadcast() selects the current queue registry and inserts every copy in one Lua invocation. A queue cannot be missed or resurrected by a concurrent write or deletion that commits before that invocation. Activity notifications and maintenance accounting run after the atomic insert commits.

Patterned broadcasts deliberately keep a client-side queue snapshot so their matching stays exactly Python fnmatchcase syntax. A queue created after the snapshot can miss that broadcast; a queue deleted after the snapshot can be recreated by it. Use a patternless broadcast when atomic registry selection is required.

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

simplebroker_redis-3.2.3.tar.gz (24.3 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

simplebroker_redis-3.2.3-py3-none-any.whl (30.5 kB view details)

Uploaded Python 3

File details

Details for the file simplebroker_redis-3.2.3.tar.gz.

File metadata

  • Download URL: simplebroker_redis-3.2.3.tar.gz
  • Upload date:
  • Size: 24.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: twine/6.1.0 CPython/3.13.13

File hashes

Hashes for simplebroker_redis-3.2.3.tar.gz
Algorithm Hash digest
SHA256 1b8705aabd30406ecd8c5af56d7f055705532dee6d65279f3f96814793964dbd
MD5 3983e1a97538d7a5a01fe69240d8b20c
BLAKE2b-256 8a3040c207f3a623dda7adce75dfccf31a90cd0aee5ff01085ac5057dd5f0e25

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplebroker_redis-3.2.3.tar.gz:

Publisher: release-gate-redis.yml on VanL/simplebroker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

File details

Details for the file simplebroker_redis-3.2.3-py3-none-any.whl.

File metadata

File hashes

Hashes for simplebroker_redis-3.2.3-py3-none-any.whl
Algorithm Hash digest
SHA256 6fa37d37b7234391b5bbf4cb41ebb7456babdd2713beadd77a741602fc2675e3
MD5 eccbd726e9979dd39ab578168141d037
BLAKE2b-256 cbddf9f4fdc2c101c0f39cc9b95c16fe0c62be22b4675172017e47253ce9034c

See more details on using hashes here.

Provenance

The following attestation bundles were made for simplebroker_redis-3.2.3-py3-none-any.whl:

Publisher: release-gate-redis.yml on VanL/simplebroker

Attestations: Values shown here reflect the state when the release was signed and may no longer be current.

Release history Release notifications | RSS feed

3.9.1

2 files

3.9.0

2 files

3.8.0

2 files

3.6.0

2 files

3.5.2

2 files

3.5.1

2 files

3.5.0

2 files

3.3.2

2 files

3.3.1

2 files

3.3.0

2 files

This release

3.2.3 This release

2 files

3.2.2

2 files

3.2.1

2 files

3.2.0

2 files

3.1.1

2 files

3.1.0

2 files

3.0.2

2 files

3.0.0

2 files

2.7.0

2 files

2.6.0

2 files

2.5.0

2 files

2.4.1

2 files

2.4.0

2 files

2.3.1

2 files

2.3.0

2 files

2.2.0

2 files

2.1.0

2 files

2.0.1

2 files

2.0.0

2 files

1.1.1

2 files

1.1.0

2 files

1.0.1

2 files

1.0.0

2 files

0.9.2

2 files

0.9.1

2 files

0.9.0

2 files

0.1.0

2 files

Supported by

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