Contents
Tembo's Python Client for PGMQ
Installation
Install with pip
from pypi.org
bash
pip install tembo-pgmq-python
Dependencies:
Postgres running the Tembo PGMQ extension.
Usage
Start a Postgres Instance with the Tembo extension installed
bash
docker run -d --name postgres -e POSTGRES_PASSWORD=postgres -p 5432:5432 quay.io/tembo/pgmq-pg:latest
Initialize a connection to Postgres
```python from tembo_pgmq_python import PGMQueue, Message
queue = PGMQueue(host="0.0.0.0") ```
Create a queue (or a partitioned queue)
```python queue.create_queue("my_queue")
queue.create_partitioned_queue("my_partitioned_queue", partition_size=10000)
```
Send a message
python
msg_id: int = queue.send("my_queue", {"hello": "world"})
Read a message, set it invisible for 30 seconds.
python
read_message: Message = queue.read("my_queue", vt=10)
print(read_message)
Archive the message after we're done with it. Archived messages are moved to an archive table.
python
archived: bool = queue.archive("my_queue", read_message.msg_id)
Delete a message completely.
python
msg_id: int = queue.send("my_queue", {"hello": "world"})
read_message: Message = queue.read("my_queue")
deleted: bool = queue.delete("my_queue", read_message.msg_id)
Pop a message, deleting it and reading it in one transaction.
python
popped_message: Message = queue.pop("my_queue")
print(popped_message)