我們有一臺運行芹菜工作服務器和一個Redis隊列的服務器。任務在該服務器上定義。
我需要能夠從遠程機器調用這些任務。
我知道這是使用send_task
完成的,但我仍然沒有想出如何?我如何告訴send_task
隊列在哪裏?我在哪裏傳遞連接參數(或任何需要的)?我一直在尋找了幾個小時,所有我能找到的是:芹菜 - 如何從遠程機器發送任務?
from celery.execute import send_task
send_task('tasks.add')
嗯,這意味着我需要celery
我的呼喚機器上也是如此。但是我還需要設置什麼?
我最近有一個類似的問題,通過send_task調用是正確的,但是這個任務沒有被服務器找到。我收到錯誤「收到未註冊的任務類型...」。爲了解決這個問題,在你的任務定義裝飾器中添加'name'參數。示例可以在[這裏]找到(https://gist.github.com/johnpaulhayes/8403108) – johnpaulhayes
好的,這是偉大的人......現在是一個真正的考驗。你如何利用這個回調來獲得從任務返回的實際值? – chuckjones242
把我扔了幾個小時的東西是我需要定義我的製作腳本將哪個隊列放入「作業」。以'celery.send_task('tasks.the_remote_task_name',([arguments,...]), queue ='name_of_queue')'從此[鏈接]獲得(https://www.marshut.net/ipwtin /sending-tasks-from-a-machine-and-running-celery-workers-on-another-machine.html) – lukik