TL; DRPython的芹菜增加并发对工人
是否有可能增加或在运行芹菜工人减少并发无重新启动呢?
我用芹菜4.0.0与RabbitMQ的作为经纪人在Ubuntu 14.10
我USECASE
我经常面临的一个大队列的任务,其中大部分主要执行的基于HTTP请求并做一些小处理。我让工作人员在相当强大的机器上运行,并希望最大限度地利用资源。这在大多数情况下都不是问题,除非处理大量的HTTP请求,这可能会超时或需要很长时间才能响应等。处理这些问题时,我想暂时增加--concurrency
- 参数,而不必重新启动worker。
目前我正在运行芹菜--concurrency 150
,但这只会让服务器瓶颈(CPU)的利用率降低约10%。我想一种解决方案是在那段时间内产生另一个150个并发工作者,并在稍后将其杀死,但这可能会增加复杂性。如果可能的话,我想坚持1个工人/机器。
如何对自动缩放选项:http://docs.celeryproject.org/en/latest/userguide/workers.html#autoscaling –
原则上我喜欢使用自动缩放的想法比我想出的更好。然而,这些文档并不清楚如何进行子类化和添加自己的逻辑。 请注意,当我试图超越169个进程时,芹菜在任何地方都会抛出错误,但我认为这个事实可能是GitHub的一个特例。 – MoorzTech