点击之后,系统在处理,可以关闭当前页面,过几分钟回来看,处理进度怎么实现?

有一个运算非常庞大复杂的功能,系统可能要处理好几分钟,这样的功能总不能让用户一直等待,也不能让页面空白,卡顿,所以想弄一个,点击生成之后的事件,触发之后用户可以离开了,系统自动一个个进行处理,用户这时候可以关闭页面,去浏览其他网页,如果不关闭的话,就返回处理进度。这个功能该怎么做?

阅读 3.2k
4 个回答

如果是好几分钟的话还是建议使用后台处理程序.
进度条的话你要么是长轮询 要么是socket
可以创建一个任务执行的log表
可以记录什么时间执行了任务
执行到了第几步 并且进行储存
后台每运行完一步后++

ignore_user_abort(true) 设置页面关闭继续执行脚本;
set_time_limit(0) 设置脚本执行时间为一直执行到脚本结束
程序按照自己需要的功能写就行

按照你的描述需要恢复事故现场,保存场景,需要持久化存储是跑不掉了,具体用什么可以按需选择

还不如写个计划任务去跑,自己数据库存一下需要跑的文件等。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题