【发布时间】:2012-09-11 12:09:56
【问题描述】:
我的网络项目中有一个耗时的功能。在函数进行计算时,应呈现一个网页,通知用户计算完成后将通过电子邮件发送结果。
如果我将渲染放在函数调用之后,网页将在 time_sumption_function() 完成之后才会渲染,这会使响应变得毫无意义。
views.py:
def web_function(request):
...
time_consuming_function()
return HttpResponse()
python 线程是唯一的出路吗?
更新
最终使用 cellery,因为它似乎比 ztaskd 有更好的文档记录
【问题讨论】:
-
不是,我宁愿将celery集成到项目中,设置一个consumer server,这样任务就从django发送到那里,django渲染页面,并通过ajax定期更新内容,其中django 再次从数据库中检索信息,因为 celery 的工作进程正在将结果放在那里。
-
你能告诉我你是怎么用芹菜的,我对芹菜比较陌生。