我知道这打破了使用芹菜的整个目的,但是有没有一个函数会阻塞,直到结果返回?阻塞版本的延迟在芹菜?
所以不是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