2013-03-09 72 views
2

我有芹菜任務是這樣的:Django芹菜一次只運行兩項任務?

@celery.task 
def file_transfer(password, source12, destination): 
    result = subprocess.Popen(['sshpass', '-p', password, 'rsync', '-avz', source12, destination], 
            stderr=subprocess.PIPE, stdout=subprocess.PIPE).communicate()[0]        
    return result   

我呼籲在Djagno視圖。

用戶可以選擇多個文件複製到目的地。例如,如果用戶一次選擇4個文件,芹菜只接受2個任務。怎麼了?

回答

1

您是否檢查過您的工作人員的併發設置?

例如,如果您只有一個工作在雙核機器上運行,默認情況下併發性將爲2.這意味着一次只能執行兩個任務。

您可以從與交換機的工作人員命令行更改此設置:

-c N 

其中N是並行任務數

+0

哪裏併發設置,可以請你給我的全部命令更改設置。 – pynovice 2013-03-11 09:03:11

+0

我這樣做,但我得到這個錯誤:消費者:無法連接到amqp://[email protected]:5672 //:[Errno 111]連接被拒絕。 在6.00秒內重試... 我正在使用數據庫後端。 – pynovice 2013-03-11 09:24:40

+0

amqp仍然需要處理消息。您正在設置的數據庫後端可能是結果。對於排隊系統,您應該使用BROKER_URL =「django://」設置。看到這裏:http://docs.celeryproject.org/en/latest/getting-started/brokers/django.html#broker-django – mpaf 2013-03-11 10:22:41