4

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

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

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

  1. 编写自己的任务系统。这是最不受欢迎的选择,因为它需要很多时间。
  2. 找到可以在猴子修补后工作的芹菜的良好且经过充分尝试的替代品。

有没有 Celery 的类似物,即使在突然退出后也能保证我执行任务?

4

2 回答 2

1

你试过用 Celery + eventlet 吗?它在我们的项目中运行良好

于 2012-11-17T10:55:05.620 回答
1

Zeromq 可能适合您的用例。

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

但是,您需要编写自己的消息库来持久化消息。

于 2012-11-13T11:56:05.767 回答