我们在 Django 项目中使用 Celery 执行后台任务。不幸的是,我们在任务中有许多阻塞套接字,可以建立很长时间。所以 Celery 变得满载并且没有响应。
Gevent 可以帮助我处理套接字,但 Celery 仅对 gevent 提供实验性支持(正如我在实践中发现的那样,它不能很好地工作)。所以我考虑切换到另一个任务队列系统。
我可以选择两种不同的方式:
- 编写自己的任务系统。这是最不受欢迎的选择,因为它需要很多时间。
- 找到可以在猴子修补后工作的芹菜的良好且经过充分尝试的替代品。
有没有 Celery 的类似物,即使在突然退出后也能保证我执行任务?