찾다

 >  Q&A  >  본문

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

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

阿神阿神2859일 전804

모든 응답(4)나는 대답할 것이다

  • 高洛峰

    高洛峰2017-04-11 09:08:37

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

    회신하다
    0
  • PHPz

    PHPz2017-04-11 09:08:37

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

    회신하다
    0
  • 伊谢尔伦

    伊谢尔伦2017-04-11 09:08:37

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

    회신하다
    0
  • PHP中文网

    PHP中文网2017-04-11 09:08:37

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

    회신하다
    0
  • 취소회신하다