python - celery 用作代理时能否优雅地承受 mongodb 故障转移?

标签 python django mongodb replication celery

我正在使用 mongodb 副本集作为 celery 的代理和结果存储。

我已经成功地让它在副本集上运行,但是当我关闭主要的 mongodb 节点,并且副本集将辅助节点提升为主要节点时,celery worker 和 beat 进程就死掉了。

如果我重新启动它们,它们在新主服务器上运行得很好。有没有办法让 celery 等一会儿,让新的 primary 选举出来?

在这种情况下,celery 在 django-celery 下运行。

更新记录到 kombu( celery 使用的传输层)的问题:https://github.com/ask/kombu/issues/123

最佳答案

尝试运行“mongos”实例作为副本集的包装器。在您的案例中,这不是失败点。 “mongos”将负责故障转移。

关于python - celery 用作代理时能否优雅地承受 mongodb 故障转移?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10144526/

相关文章:

django - 无法使用Systemd Django启动Gunicorn

Django Celery 接收和接受任务,但不执行它们

python - Django的manage.py显示旧命令

mongodb - MongoDb 中的最小文档大小

javascript - 在 Mongoose 中间件方法 pre save 和 post save 之间共享数据

Mongodb 分片集群 $in VS $or

python - Django:显示选择值

python - 填充3D线图Python上线之间的区域

python - 回复后如何删除用户输入的命令

python - Django 按小时/天分组