Distributed Task Queue.
Project description
- Version:
1.0.0
- Web:
- Download:
- Source:
- Keywords:
task, queue, job, async, rabbitmq, amqp, redis, python, distributed, actors
What is this?
本项目基于 celery-5.0.5 开发,主要功能是添加 asyncio 支持, 以更好地和 FastAPI 等异步web框架配合使用。
项目是 celery 的超集,但并非所有功能都支持 asyncio , 并且目前仅完成了 redis 作为 broker 和 backend 的支持。
Get Started
创建任务和官方 celery 一样:
from celery import Celery
app = Celery('hello', broker='redis://:@localhost/')
@app.task(aio_variant=True)
def hello():
return 'hello world'
但增加了 aio_variant 这一参数,相较于普通的任务发送和获取结果的方式:
task = hello.apply_async()
result = task.get()
可以使用:
task = await hello.aio.apply_async()
result = await task.get()
注意
这不只是一个简单的语法糖,而是确实使用 aioredis 替换了原有 redis-py 的同步网络请求。
License
This software is licensed under the New BSD License. See the LICENSE file in the top distribution directory for the full license text.
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
deepfos-celery-1.0.2.tar.gz
(581.1 kB
view hashes)