我有一个包含许多Celery任务的项目,其中一个任务必须一次只执行一个(这是对不允许多个并发连接的第三方API的请求)。
我可以通过启动一个单独的队列并且并发为1的独立芹菜进程来实现这一点。
常规芹菜过程:
ionic-cli
单独的单一工作流程:
celery -A sourcery worker -Q default -c 4
但是我在Heroku上,我会因为两个进程而不是一个进程而被双倍收费。那么,有没有办法通过一个Celery流程实现它?
答案 0 :(得分:0)
目前无法做到这一点。
我有一个类似的问题,我有第三方API,只允许一个并发连接。我最终在Heroku上运行了两个单独的dynos。
有人确实要求此功能,但尚未实施:https://github.com/celery/celery/issues/1599
编辑:
有一种名为celery-multi的东西值得研究:
Celery - run different workers on one server
我不确定它的Heroku是否兼容,如果你尝试,请告诉我!