Celery的异步替代品

时间:2012-11-13 11:42:10

标签: python django asynchronous celery gevent

我们在Django项目中使用Celery作为后台任务。 不幸的是,我们在任务中有许多阻塞套接字,可以建立很长时间。所以芹菜变得满载并且没有反应。

Gevent可以帮助我使用套接字,但是Celery只有gevent的实验性支持(正如我在实践中发现的那样,它不能很好地工作)。 所以我考虑切换到另一个任务队列系统。

我可以选择两种不同的方式:

  1. 编写我自己的任务系统。这是最不受欢迎的选择,因为它需要很长时间。
  2. 找到优质且经过良好尝试的Celery替代品,可在猴子修补后使用。
  3. Celery是否有任何类似物,即使在突然退出后也能保证我的任务执行?

2 个答案:

答案 0 :(得分:1)

Zeromq可能适合您的使用案例。

参见 - https://serverfault.com/questions/80679/how-to-pick-between-rabbitmq-and-zeromq-or-something-else

但是,您需要编写自己的消息库来保留消息。

答案 1 :(得分:1)

您是否尝试过使用Celery + eventlet?它在我们的项目中运作良好

相关问题