Skip to main content

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 for task_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


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.7.tar.gz (4.4 kB view details)

Uploaded Source

Built Distribution

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

taskiq_psqlpy-0.1.7-py3-none-any.whl (4.5 kB view details)

Uploaded Python 3

File details

Details for the file taskiq_psqlpy-0.1.7.tar.gz.

File metadata

  • Download URL: taskiq_psqlpy-0.1.7.tar.gz
  • Upload date:
  • Size: 4.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for taskiq_psqlpy-0.1.7.tar.gz
Algorithm Hash digest
SHA256 fb23ffb0126fa41a48f62d495e7add3933ccafec8a2339ecfd668eb9b24dbc28
MD5 878cf61f5d33edac3cb375ae1d38364e
BLAKE2b-256 78ea1281d8b3d5c5dca6ee303cb51c942f26eb17608f0d990c4c20946425af43

See more details on using hashes here.

File details

Details for the file taskiq_psqlpy-0.1.7-py3-none-any.whl.

File metadata

  • Download URL: taskiq_psqlpy-0.1.7-py3-none-any.whl
  • Upload date:
  • Size: 4.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: poetry/2.1.4 CPython/3.9.23 Linux/6.11.0-1018-azure

File hashes

Hashes for taskiq_psqlpy-0.1.7-py3-none-any.whl
Algorithm Hash digest
SHA256 7e84b677701e25fb810ecdf02acb18f6c581d7ea3e14af16908646d01c49abb0
MD5 2aa5915469739691bbace5501a6b9867
BLAKE2b-256 a81beeccc64dadad1705e3a9c97e5d3381f7ad6f0f9b38f5120f336296217547

See more details on using hashes here.

Supported by

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