【问题标题】:Celery : CELERYD_CONCURRENCY and number of workers芹菜:CELERYD_CONCURRENCY 和工人数量
【发布时间】:2015-04-09 19:06:07
【问题描述】:

other stackoverflow answer,我尝试限制 celery 的工人数量

在我终止了所有 celery worker 之后,我用新的配置重新启动了 celery。

CELERYD_CONCURRENCY = 1(在 Django 的 settings.py 中)

然后我输入以下命令来检查有多少芹菜工人在工作。

ps auxww | grep 'celery worker' | grep -v grep | awk '{print $2}'

它返回 两个 PID,例如 24803、24817。

然后我将配置更改为CELERYD_CONCURRENCY = 2 并重新启动了 celery。

相同的命令返回 三个 PID,例如 24944、24958、24959。(如您所见,最后两个 PID 是连续的

这意味着 工人数量 如我所料增加。

但是,我不知道为什么即使只有一个芹菜工人在工作,它也会返回两个 PID?

有什么辅助流程可以帮助工人吗?

【问题讨论】:

    标签: celery django-celery worker


    【解决方案1】:

    我相信一个进程总是像控制器一样监听任务,然后将它们分配给它的子进程以实际执行工作。因此,您将始终比配置设置多 1 个进程。

    【讨论】:

    • 我想是的。但我需要参考数据,比如文档而不是“想法”。你在你的服务器上检查了吗?
    • 这是来自官方论坛的一个帖子,Ask Solem(Celery 的首席开发人员)解释了这种情况:groups.google.com/d/msg/celery-users/eq3L5vxy_t4/KAkuXUqU9BcJ
    • 啊哈!好像是celery beat,执行一些周期性的任务,用的是celery worker的那个
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2014-08-17
    • 1970-01-01
    • 2022-01-08
    • 2014-06-09
    • 2019-03-13
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多