Skip to main content

Queue Tasks Framework

Project description

QTasks - Фреймворк для очередей задач.

CI Docs

Документация: https://txello.github.io/qtasks/

PyPI: https://pypi.org/project/qtasks/

QTasks — это современный фреймворк для обработки задач, разработанный с упором на простоту, гибкость и расширяемость. Он легко интегрируется в проекты любого масштаба и подходит как новичкам, так и опытным разработчикам.

Особенности

  • Простой — Легко настраивается и быстро осваивается. Интуитивный API и понятная структура проекта.
  • Настраиваемый — Каждый компонент можно заменить или адаптировать под свои нужды. Вы управляете логикой выполнения.
  • Расширяемый — Поддержка плагинов и модулей позволяет легко добавлять новые возможности и интеграции.

Установка

Базовая установка (Redis по умолчанию)

pip install qtasks

Установка с поддержкой других брокеров

RabbitMQ

pip install qtasks[rabbitmq]

Kafka

pip install qtasks[kafka]

Пример

from qtasks import QueueTasks

app = QueueTasks()

@app.task(name="mytest") # Пример обычной задачи
def mytest(text: str):
    print(text)
    return text

@app.task(name="error_zero") # Пример задачи с ошибкой
def error_zero():
    result = 1/0
    return


# Поддерживает генераторы!
def gen_func(result):
    return result + 1
@app.task(generate_handler=gen_func)
async def test_gen(n: int):
    for _ in range(n):
        n += 1
        yield n

app.run_forever()

# Вызов задачи:
# app.add_task("mytest", args=("Тест",)). task.returning: "Тест"
# error_zero.add_task(). task.status: "ERROR"
# test_gen.add_task(args=(5,)). task.returning: [7, 8, 9, 10, 11]

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

qtasks-1.5.0.tar.gz (70.3 kB view details)

Uploaded Source

Built Distribution

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

qtasks-1.5.0-py3-none-any.whl (138.5 kB view details)

Uploaded Python 3

File details

Details for the file qtasks-1.5.0.tar.gz.

File metadata

  • Download URL: qtasks-1.5.0.tar.gz
  • Upload date:
  • Size: 70.3 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for qtasks-1.5.0.tar.gz
Algorithm Hash digest
SHA256 516dfeaaed63ee84f3d307cd3fded09601094857f998dfdb076833b71a23f651
MD5 4c618e8f353e99469864d98c38be839b
BLAKE2b-256 741f09ff3a785cd194f3d8648d257c2d8200913b96658645b5375ee02357e1fd

See more details on using hashes here.

File details

Details for the file qtasks-1.5.0-py3-none-any.whl.

File metadata

  • Download URL: qtasks-1.5.0-py3-none-any.whl
  • Upload date:
  • Size: 138.5 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.9

File hashes

Hashes for qtasks-1.5.0-py3-none-any.whl
Algorithm Hash digest
SHA256 d520571e7a0adfbd1fb9b8d2ea461fa3eea6cc74d2be8c086f9f5e04507eb104
MD5 5f4d38518e7b4ff1d6024e7c0f277bed
BLAKE2b-256 1845ea325ba8ff2e4ce0b20997162bab19547f5bd5348d7497c3390ed9973169

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