Django如何管理长后台进程?

时间:2018-11-01 14:18:52

标签: python django celery

我是Django的新手,并在有关后台流程管理的正确决策上挣扎。我有一个任务:未注册的用户上传文件,然后我必须对其进行解析,并执行一些操作,具体取决于文件,该过程需要30到50秒。

首先,我认为只是在渲染之前从视图中调用函数。该功能可以使用其他类来管理数据。然后,它只将结果返回到变量,然后将其发送到模板。

示例:

result = file_handle_function(request.FILES['file'])
return render(request, 'home/home.html', {'form': form, 'result': 'result'})

其次,我对芹菜有一些了解,但我认为它更适合经过身份验证的用户。虽然我以后要制作身份验证系统。

我应该选择哪种方式?欢迎任何建议,链接,批评=)

1 个答案:

答案 0 :(得分:0)

首先,接受来自未注册用户的文件上传并不是一个好主意。这种方法有许多缺陷,其中一些可能非常令人担忧。我不确定您的第一种方式是否会像您想象的那样工作。我建议芹菜或至少类似的东西。芹菜效果很好(尽管可能很痛苦),得到了很好的支持,它是免费的,您可以找到我对有关问题的答案。如果您决定坚持使用未注册的用户上传内容,这是关于芹菜security的注释,这是关于芹菜可能存在alternatives的问题,这是有关构建自己的task的文章队列。