Skip to main content

Asynchronous task queue framework

Project description

Aiotaskqueue is a type-safe and fast distributed queue alternative to celery, rq and arq.

Example Usage

import asyncio

from redis.asyncio import Redis

from aiotaskqueue import Configuration, Publisher, TaskRouter
from aiotaskqueue.broker.redis import RedisBroker, RedisBrokerConfig
from aiotaskqueue.serialization.msgspec import MsgSpecSerializer
from aiotaskqueue.serialization.pydantic import PydanticSerializer

router = TaskRouter()


@router.task(name="task-name")
async def task(a: int, b: str) -> None:
    print(a, b)


async def main() -> None:
    configuration = Configuration(
        serialization_backends=[PydanticSerializer()],
        default_serialization_backend=MsgSpecSerializer(),
    )

    redis = Redis(host="127.0.0.1")
    broker = RedisBroker(
        redis=redis,
        consumer_name="aiotaskqueue",
        broker_config=RedisBrokerConfig(xread_count=100),
    )
    publisher = Publisher(broker=broker, config=configuration)
    async with redis, broker:
        await publisher.enqueue(task(a=42, b="string"))


if __name__ == "__main__":
    asyncio.run(main())

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

aiotaskqueue-0.16.0.tar.gz (26.7 kB view details)

Uploaded Source

Built Distribution

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

aiotaskqueue-0.16.0-py3-none-any.whl (40.1 kB view details)

Uploaded Python 3

File details

Details for the file aiotaskqueue-0.16.0.tar.gz.

File metadata

  • Download URL: aiotaskqueue-0.16.0.tar.gz
  • Upload date:
  • Size: 26.7 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aiotaskqueue-0.16.0.tar.gz
Algorithm Hash digest
SHA256 b8f24746b732da988af82c3597e9b0de6bfa3063271427ac88b16777b1766499
MD5 2db5b8ba658b696b52b69eada3560c03
BLAKE2b-256 52dafb7128a40e46d63d8242976ecff0c9e229d1a29e5357c223d7030e0afa8d

See more details on using hashes here.

File details

Details for the file aiotaskqueue-0.16.0-py3-none-any.whl.

File metadata

  • Download URL: aiotaskqueue-0.16.0-py3-none-any.whl
  • Upload date:
  • Size: 40.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? Yes
  • Uploaded via: uv/0.10.5 {"installer":{"name":"uv","version":"0.10.5","subcommand":["publish"]},"python":null,"implementation":{"name":null,"version":null},"distro":{"name":"Ubuntu","version":"24.04","id":"noble","libc":null},"system":{"name":null,"release":null},"cpu":null,"openssl_version":null,"setuptools_version":null,"rustc_version":null,"ci":true}

File hashes

Hashes for aiotaskqueue-0.16.0-py3-none-any.whl
Algorithm Hash digest
SHA256 a0dea16a3991ad19789980e9b9c99836d9139ecbb2ea110c4829be638c69fbee
MD5 85026b48ea52e5d4bc00b2263a18d7e7
BLAKE2b-256 5e56900594139180274ffc7f8e7e1dc6f9000e08e4fdb573db92f89ef497916b

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