python - Django 中的同时多任务处理

标签 python django

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

如果我将呈现放在函数调用之后,网页将在 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/

相关文章:

django - 如何编辑 django-allauth 默认模板?

python - 设置字段 `null=True` ,为什么在 ModelForm 中我仍然收到必需的错误?

python - 嵌套的 Python 类需要访问封闭类中的变量

python - 构建 Django 测试 & 测试无法运行

python - 在没有您的用户名和密码的情况下写入公开的 Google 电子表格

python - 如何使用 python 查找数组中的元素列表

python - 如何仅在python虚拟环境中升级django包?

django - 多个应用程序使用的 Mixin 应该放在哪里?

python - 如何从 pandas DataFrame 中获取 "unpivot"特定列?

python - 以特定用户身份执行脚本