2017-07-28 150 views
1

我從芹菜中不同的服務器很多工人,(下面的圖片顯示) enter image description here(芹菜):在特定的工作人員中運行任務?

很多任務:

@task(name="task1") 
def task1(): 
    ....... 

@task(name="task2") 
def task2(): 
    ...... 

我只想對「[email protected]_website運行「獨立寫作」 「工人。我應該如何配置?

celery -A tasks -n worker1 -q queue1 --loglevel=info 
celery -A tasks -n worker2 -q queue2 --loglevel=info 
... 

比增加router,例如:

回答

1

運行的時候,又名你可以給你的工人不同的名字,分配給每個工人從一個特定的隊列中讀取

def route_task(name, args, kwargs, options, task=None, **kw): 
     if name == 'task1': 
      return 'queue1' 
     elif name == 'task2': 
      return 'queue2' 
     return None 

注,實施取決於你運行的芹菜版本(我使用3.1) - 它在4中改變了一點。 在我添加的鏈接(配置中)中甚至有更簡單的路由器 - 檢查了這一點。

祝你好運

+0

太好了,非常感謝你@itayB – nanci