Postgres Broker for Dramatiq Task Queue
Project description
dramatiq-pg -- Postgres Broker for Dramatiq
dramatiq is a simple task queue implementation for Python3. dramatiq-pg provides a Postgres-based implementation of a dramatiq broker.
The project is not feature complete yet.
Features
- Super simple deployment.
- Message payload stored as native JSONb.
- All messages in a single table.
- All data are wrapped in a dedicated schema.
- Uses LISTEN/NOTIFY to keep worker sync. No polling.
- Reliable thanks to Postgres MVCC.
- Using plain psycopg2. No ORM.
- Requeueing of failed tasks.
Installation
- Install dramatiq-pg package from PyPI:
$ pip install dramatiq-pg
- Apply dramatiq_pg/schema.sql file in your database:
$ psql -f dramatiq_pg/schema.sql
- Before importing actors, define global broker with a connection
pool:
import dramatiq import dramatiq_pg import psycopg2.pool pool = psycopg2.pool.ThreadedConnectionPool(0, 4, conninfo) dramatiq.set_broker(dramatiq_pg.PostgresBroker(pool=pool))
Now declare/import actors and manage worker just like any dramatiq setup.
Roadmap
- Rejecting message.
- Process missed notifies while resuming worker.
- Result storage as JSONb.
- Delayed task.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
dramatiq-pg-0.2.0.tar.gz
(4.0 kB
view details)
Built Distribution
File details
Details for the file dramatiq-pg-0.2.0.tar.gz
.
File metadata
- Download URL: dramatiq-pg-0.2.0.tar.gz
- Upload date:
- Size: 4.0 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.10 CPython/3.7.1 Linux/4.19.0-2-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 1b113ab456879b366738fdb2da4e952760311f060a4a165c6e76ce84013f0df8 |
|
MD5 | ed793fcfcd2b37a5ff84f9bc11aa8657 |
|
BLAKE2b-256 | d6064189420eb7048b72f10c89ebf881b586c020283784bf53a8f46a3f0a8299 |
Provenance
File details
Details for the file dramatiq_pg-0.2.0-py3-none-any.whl
.
File metadata
- Download URL: dramatiq_pg-0.2.0-py3-none-any.whl
- Upload date:
- Size: 7.9 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: poetry/0.12.10 CPython/3.7.1 Linux/4.19.0-2-amd64
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | e702a7abdd47eeaaffd680178acca3be348560d3fe2a8996f013cc9030d31e81 |
|
MD5 | 4e3edbe81d69a0a107cb1c35e4712d74 |
|
BLAKE2b-256 | b5c744257d2b14f346be8252c1553b11556c584d948a4c17bba89f5e9ad7e39b |