芹菜:远程机器的优先性



我在两台机器上运行相同的芹菜工人。但我希望一台机器抓取更多的任务,因为它有更多的系统资源。这可能吗?

所以我有机器 1 和机器 2,在它们上面都运行着一个带有简单代码的 calculuationTasks.py:

from celery import Celery
app = Celery('calculuationTasks',
             broker='???',
             backend='???',
             result_backend='???')
app.conf.update({
    'task_routes': {
        'calculuationTasks.add': {'queue': 'calculation'},
    }
})
app.conf.update(task_track_started=True)#,result_extended=True)
@app.task(bind=True, soft_time_limit=100000)
def add(self, number):
    return number*2

在我的代码中,我现在执行:

add.delay(10)

在两台机器上,我之前当然会启动芹菜工人:

celery -A calculationTasks worker --loglevel=info --concurrency 8 --queues=caclulcation -n machine1@%h
celery -A calculationTasks worker --loglevel=info --concurrency 8 --queues=caclulcation -n machine2@%h

现在我希望机器 2 获得更多这样的任务。

只需将机器 2 上的concurrency设置增加到 10 即可:celery -A calculationTasks worker --loglevel=info --concurrency 10 --queues=caclulcation -n machine2@%h

每个芹菜工人可以有不同的设置。您已经使用了这个 - 您指定了不同的名称。

相关内容

  • 没有找到相关文章

最新更新