本文仅为学技术而简单举例,后端框架是Django,具体业务逻辑是否合理可以不用管,下方是工作中需要实现的需求
自动化程序脚本运行的三种任务状态:
1、未执行 2、执行成功 3、执行失败
任务状态在网页前端实时展示,需要每隔一段时间请求数据库中的状态数据字段为webtask_stu,并返回前端展示
两种思路:
1、前端轮询,每请求一次,建立一次连接,后端返回前端数据一次
具体实现:设置定时器,每隔5s请求后端数据,后端返回数据后渲染前端
2、前端请求只建立一次连接,后端能持续主动向前端推送数据
具体实现:前端通过socket方式向后端建立连接,后端定时查询数据库数据,主动向前端推送,这种优点很明显,可以减少网络请求次数
方式一:Ajax定时请求:
1、前端设置定时器setInterval,定时器里面传ajax请求函数和时间
function get_stu_list(){ param = {}; $.post("/web/webtask_stu/",param,function(data){ var webtask_tu_list = data.webtask_stu; console.log(webtask_tu_list); var tr = $("tbody tr"); $.each(tr,function (i,ele) { $(ele).find("td:eq(4)").text(webtask_tu_list[i]) }); });};setInterval(get_stu_list,5000);
param = {};
$.post("/web/webtask_stu/",param,function(data){
var webtask_tu_list = data.webtask_stu;
console.log(webtask_tu_list);
var tr = $("tbody tr");
$.each(tr,function (