对于下面的代码,return语句似乎只在函数完成后执行
def runJob(objects,bgJob):
"""DO SOME DJANGO STUFF"
try:
return prepareResponce(status=202)
finally:
runJob(objects, bgJob)
基本上我需要在return语句
之后执行runJob答案 0 :(得分:0)
这里的tastypie或django没什么特别的,这就是python的工作原理。一旦从函数返回值,它就会停止运行。
所以,你想要的方法是开始运行所谓的“后台”或“异步”任务,在返回对用户的响应之前启动它。
这是众所周知的问题。工具集从随意tastypie-async到经过严格战斗验证的生产就绪celery不等。后者与django社区中的django + 巨大的历史有很好的整合