Python - Django -Tastypie - 如何在返回后运行代码

时间:2018-02-08 06:47:38

标签: python django tastypie

对于下面的代码,return语句似乎只在函数完成后执行

def runJob(objects,bgJob):
   """DO SOME DJANGO STUFF"
   try:
       return prepareResponce(status=202)
   finally:
       runJob(objects, bgJob)

基本上我需要在return语句

之后执行runJob

1 个答案:

答案 0 :(得分:0)

这里的tastypie或django没什么特别的,这就是python的工作原理。一旦从函数返回值,它就会停止运行。

所以,你想要的方法是开始运行所谓的“后台”或“异步”任务,在返回对用户的响应之前启动它。

这是众所周知的问题。工具集从随意tastypie-async到经过严格战斗验证的生产就绪celery不等。后者与django社区中的django + 巨大的历史有很好的整合