根据Celery docs,SQLAlchemy代理有“多个”工作者的问题,可能会多次执行任务。我无法找到更准确的信息。数据库的选择是否重要?鉴于该数据库是PostgreSQL 9.1,是否有人有过多少“多于几”的经验,这有多常见?它是一直发生还是只发生在极端情况下?
答案 0 :(得分:1)
不建议使用数据库作为任务代理,因为与其他经纪人(例如rabbitmq或redis)相比,它不能很好地执行(第一个是芹菜的最佳选择)。
这是因为工作人员将使用资源轮询数据库以查找新任务并发布状态和结果。
Sqlalchemy不应该用作经纪人,除非你的任务数量非常有限,而且一个工人(也就是开发/登台机器)
Rabbitmq是生产环境的建议代理,您应该使用它:)