1

我的网络项目中有一个耗时的功能。在函数进行计算时,应呈现一个网页,通知用户计算完成后将通过电子邮件发送结果。

如果我将渲染放在函数调用之后,则网页将在 time_sumption_function() 完成之前渲染,这将使响应变得毫无意义。

views.py:

def web_function(request):
    ...
    time_consuming_function()
    return HttpResponse()

python线程是唯一的方法吗?


更新

最终使用 cellery,因为它似乎比 ztaskd 有更好的文档记录

4

2 回答 2

6

要走的路是使用ztaskd来执行time_consuming_function().

from django_ztask.decorators import task

@task()
def time_consuming_function()
    ...

视图.py:

def web_function(request):
    ...
    time_consuming_function.async()
    return HttpResponse()
于 2012-09-11T12:14:43.123 回答
4

我建议你看一个任务调度框架,比如 Celery (或者只是普通的Rabbit MQ

于 2012-09-11T12:14:59.487 回答