【发布时间】:2017-02-10 11:07:20
【问题描述】:
如何创建一个使 celery 任务看起来像 asyncio.Task 的包装器?或者有没有更好的方法将 Celery 与 asyncio 集成?
@asksol,Celery 的创造者,said this::
将 Celery 用作异步 I/O 框架之上的分布式层是很常见的(重要提示:将 CPU 绑定任务路由到 prefork worker 意味着它们不会阻塞您的事件循环)。
但我找不到任何专门针对 asyncio 框架的代码示例。
【问题讨论】:
-
你能澄清一下“看起来”是什么意思吗?我想您可能误解了 Asksol 的评论——您将 celery 放在了作为异步管理器的 Rabbit 或 SQS 等框架的前面。因此,您可以为使用 asyncio 的 celery 创建一个代理/插件,但任务不会“看起来像”(即具有 asyncio 的接口)? celery 的重点是抽象使用的异步方法?
标签: python python-3.x asynchronous celery python-asyncio