mqflow
mqflow is a simple Python message queue framework, providing an easy-to-use and efficient method to handle tasks asynchronously.
Github: https://github.com/dockhardman/mqflow
Installation
pip install mqflow
Features
- Easy-to-use: mqflow provides a Pythonic API that is both simple and effective for managing message queues.
- Flexibility: It supports different types of message queues such as FIFO, priority, and circular queues.
- Thread-Safe: mqflow uses Python's built-in queue library to ensure that your application is thread-safe.
- Customizable: mqflow allows you to customize your producer and consumer functions, providing great flexibility to fit your needs.
Usage
Here is an example of a simple message queue pipeline in memory:
from mqflow.broker import QueueBroker
from mqflow.producer import Producer
from mqflow.consumer import Consumer
from mqflow.pipeline import SequentialMessageQueue
def work(item, queue: "QueueBroker", *args, **kwargs):
print(f"[{item}] -> [{queue}] -> [{''.join(args)}]")
task_num = 3
mq = SequentialMessageQueue(
producers=[Producer(target=lambda: "Task sent", max_count=task_num)],
consumers=[Consumer(target=work, args=("Task received",), max_count=task_num)],
broker=QueueBroker(),
)
mq.run()
# [Task sent] -> [QueueBroker(name=QueueBroker, maxsize=0)] -> [Task received]
# [Task sent] -> [QueueBroker(name=QueueBroker, maxsize=0)] -> [Task received]
# [Task sent] -> [QueueBroker(name=QueueBroker, maxsize=0)] -> [Task received]
This creates a SequentialMessageQueue with a single producer that generates "Task sent" messages, and a single consumer that prints these messages with some additional information. The max_count parameter specifies the number of tasks the producer/consumer will handle before stopping. The broker manages the communication between producers and consumers.
Metadata
Release files for simple-pymq 0.4.0
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| simple_pymq-0.4.0-py3-none-any.whl | Python 3 | none | any | Details |
Release files / simple_pymq-0.4.0-py3-none-any.whl
| Download URL | simple_pymq-0.4.0-py3-none-any.whl |
|---|---|
| Size | 10.3 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
471d78b7f526f0c4e287863b03ed73e8adb7b44d2b75528e7688f65366215d82
|
|
BLAKE2b-256 checksum How to use checksums |
5fed63e9d6dd7a20e8b19afc238df25764ffc987fe9d6fd3fa9cb7c74ac223e0
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is trusted publishing? |
No |
| Uploaded via |
poetry/1.3.2 CPython/3.8.16 Darwin/22.4.0
|