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 = 50pool_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
Built Distribution
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
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
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
1b8705aabd30406ecd8c5af56d7f055705532dee6d65279f3f96814793964dbd
|
|
| MD5 |
3983e1a97538d7a5a01fe69240d8b20c
|
|
| BLAKE2b-256 |
8a3040c207f3a623dda7adce75dfccf31a90cd0aee5ff01085ac5057dd5f0e25
|
Provenance
The following attestation bundles were made for simplebroker_redis-3.2.3.tar.gz:
Publisher:
release-gate-redis.yml on VanL/simplebroker
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simplebroker_redis-3.2.3.tar.gz -
Subject digest:
1b8705aabd30406ecd8c5af56d7f055705532dee6d65279f3f96814793964dbd - Sigstore transparency entry: 2191494776
- Sigstore integration time:
-
Permalink:
VanL/simplebroker@6bb680fe319f70e25ebff44262ecafc7a1b25598 -
Branch / Tag:
refs/tags/simplebroker_redis/v3.2.3 - Owner: https://github.com/VanL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-gate-redis.yml@6bb680fe319f70e25ebff44262ecafc7a1b25598 -
Trigger Event:
push
-
Statement type:
File details
Details for the file simplebroker_redis-3.2.3-py3-none-any.whl.
File metadata
- Download URL: simplebroker_redis-3.2.3-py3-none-any.whl
- Upload date:
- Size: 30.5 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? Yes
- Uploaded via:
twine/6.1.0 CPython/3.13.13
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
6fa37d37b7234391b5bbf4cb41ebb7456babdd2713beadd77a741602fc2675e3
|
|
| MD5 |
eccbd726e9979dd39ab578168141d037
|
|
| BLAKE2b-256 |
cbddf9f4fdc2c101c0f39cc9b95c16fe0c62be22b4675172017e47253ce9034c
|
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
-
Statement:
-
Statement type:
https://in-toto.io/Statement/v1 -
Predicate type:
https://docs.pypi.org/attestations/publish/v1 -
Subject name:
simplebroker_redis-3.2.3-py3-none-any.whl -
Subject digest:
6fa37d37b7234391b5bbf4cb41ebb7456babdd2713beadd77a741602fc2675e3 - Sigstore transparency entry: 2191494846
- Sigstore integration time:
-
Permalink:
VanL/simplebroker@6bb680fe319f70e25ebff44262ecafc7a1b25598 -
Branch / Tag:
refs/tags/simplebroker_redis/v3.2.3 - Owner: https://github.com/VanL
-
Access:
public
-
Token Issuer:
https://token.actions.githubusercontent.com -
Runner Environment:
github-hosted -
Publication workflow:
release-gate-redis.yml@6bb680fe319f70e25ebff44262ecafc7a1b25598 -
Trigger Event:
push
-
Statement type: