我的网络项目中有一个耗时的函数。当函数进行计算时,应呈现一个网页,通知用户计算完成后将通过电子邮件发送结果。
如果我将呈现放在函数调用之后,网页将在 time_consuming_function() 完成之前呈现,这会使响应变得毫无意义。
views.py:
def web_function(request):
...
time_consuming_function()
return HttpResponse()
python线程是唯一的出路吗?
更新
最终使用 cellery,因为它似乎比 ztaskd 有更好的文档记录
最佳答案
要走的路是使用ztaskd执行 time_consuming_function()
。
from django_ztask.decorators import task
@task()
def time_consuming_function()
...
views.py:
def web_function(request):
...
time_consuming_function.async()
return HttpResponse()
关于python - Django 中的同时多任务处理,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12369409/