Skip to main content
 首页 » 编程设计

python之在 Django 中,我如何执行服务器端功能并在客户端监控进度

2024年08月23日30wuhuacong

我在问一个基本级别的问题,所以我知道如何进行研究。

我有一个用于处理大文件的 Python 脚本。它运行 1-3 分钟并有多个输出 (stdout)。

我想将这个脚本集成到 django 中。如果我将其作为 View 的一部分运行,它会使网页停止等待结果。我丢失了临时进度报告(即“已处理的 X 记录”或“已插入的 Y 记录”)。

如何开始将脚本集成到站点中,以便我可以使用脚本、跟踪进度并“实时”向用户显示进度和结果?

谢谢。

请您参考如下方法:

您可以在 celery 中运行您的脚本任务,因此您的网页不会卡在那里。你需要找到一种方法来跟踪你的进度,要么使用数据库,要么在内存存储中进行,比如 redis .然后您可以在进度 View 中轮询进度或编写一些 javascript 来更新进度页面中的进度。

celery 和redis 在django 开发中非常常用。即使设置起来并不直接,但仍然值得投入时间。