我知道這打破了使用芹菜的整個目的,但是有沒有一個函數會阻塞,直到結果返回?阻塞版本的延遲在芹菜?
所以不是MyTask.delay(some_arg="foo")
在那裏我去走一走,獲取結果我可以打電話給actual_result = MyTask.dont_delay(some_arg="foo")
這將阻止,只是返回的結果?
我知道這打破了使用芹菜的整個目的,但是有沒有一個函數會阻塞,直到結果返回?阻塞版本的延遲在芹菜?
所以不是MyTask.delay(some_arg="foo")
在那裏我去走一走,獲取結果我可以打電話給actual_result = MyTask.dont_delay(some_arg="foo")
這將阻止,只是返回的結果?
AsyncResult.get塊,直到任務準備,並返回其結果:
http://ask.github.com/celery/reference/celery.result.html#celery.result.AsyncResult.get
result = MyTask.delay(some_arg="foo")
result.get()
MyTask.apply會做什麼你問。
apply方法將在本地執行任務(當前進程),而不是在worker中執行。 – 2016-03-17 06:29:24