PSQLPy and PostgreSQL integration for taskiq
Project description
TaskIQ - PSQLPy
TaskIQ-PSQLPy is a plugin for taskiq that adds a new result backend based on PostgreSQL and PSQLPy.
Installation
To use this project you must have installed core taskiq library:
pip install taskiq
This project can be installed using pip:
pip install taskiq-psqlpy
Or using poetry:
poetry add taskiq-psqlpy
Usage
Let's see the example with the redis broker and PostgreSQL PSQLPy result backend:
# broker.py
import asyncio
from taskiq_redis import ListQueueBroker
from taskiq_psqlpy import PSQLPyResultBackend
psqlpy_result_backend = PSQLPyResultBackend(
dsn="postgres://postgres:postgres@localhost:5432/postgres",
)
# Or you can use PubSubBroker if you need broadcasting
broker = ListQueueBroker(
url="redis://localhost:6379",
result_backend=psqlpy_result_backend,
)
@broker.task
async def best_task_ever() -> None:
"""Solve all problems in the world."""
await asyncio.sleep(5.5)
print("All problems are solved!")
async def main():
await broker.startup()
task = await best_task_ever.kiq()
print(await task.wait_result())
await broker.shutdown()
if __name__ == "__main__":
asyncio.run(main())
PSQLPyResultBackend configuration
dsn
: connection string to PostgreSQL.keep_results
: flag to not remove results from Redis after reading.table_name
: name of the table in PostgreSQL to store TaskIQ results.field_for_task_id
: type of a field fortask_id
, you may need it if you want to have length of task_id more than 255 symbols.**connect_kwargs
: additional connection parameters, you can read more about it in PSQLPy repository.
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
taskiq_psqlpy-0.1.2.tar.gz
(4.4 kB
view hashes)
Built Distribution
Close
Hashes for taskiq_psqlpy-0.1.2-py3-none-any.whl
Algorithm | Hash digest | |
---|---|---|
SHA256 | 79a9f9e4bb27fc4bdc4d61c4f0c48a936d261944f491d5fbcffaef1e6fc464f1 |
|
MD5 | ebfec88d5fe02f8b3ca4e90d180b2561 |
|
BLAKE2b-256 | a19f20967b99422dfab321e8770c3593ed39a0d0112a2c83701da6c31fa16aef |