假设我有一个加载 page.html 的视图页面(请求)。
现在,在成功加载 page.html 后,我想在 page.html 加载后 10-15 秒后自动运行一个 python 脚本。怎么可能?
此外,是否可以动态显示脚本的状态(运行/停止/语法错误..等)
假设我有一个加载 page.html 的视图页面(请求)。
现在,在成功加载 page.html 后,我想在 page.html 加载后 10-15 秒后自动运行一个 python 脚本。怎么可能?
此外,是否可以动态显示脚本的状态(运行/停止/语法错误..等)
从 javascript 运行脚本不是一个干净的方法,因为用户可以关闭浏览器,禁用 js ......等等,而不是你可以使用 django-celery,它让你运行背景脚本,你可以检查状态来自中间件的动态脚本。祝你好运
对于这样的用例, Celery可能会派上用场。您可以从视图中启动任务(或调用它们的脚本)(即使有延迟,也可以根据需要)。除非您选择 WebSockets 之类的东西,否则将状态报告发送回浏览器会更加困难,但目前这是高度实验性的。
您可以在 10-15 秒后将 AJAX 的客户端超时添加回服务器。将其指向不同的视图并在该视图中执行您的脚本。例如:
function runServerScript() {
$.get("/yourviewurlhere", function(data) {
// Do something with the return data
});
}
setTimeout("runServerScript()", 10000);
如果要显示状态,客户端必须向服务器发出多个请求。