我基本上想要做的是让我的php web应用程序点击按钮(excel报告生成器)可能需要几分钟并立即将控制权返回到页面进程终止。
所以这是工作流程:
用户点击“生成报告”按钮 ajax调用'../city/generate-report'并立即返回
进程启动并运行直到完成,然后用户可以开始他的业务 用户可以返回报告页面并查看进度:“报告50%完成” 实现这一目标的最佳方法是什么?简短的回答很好。我不想为我编写代码,只是一些指导。我查看了shell_exec,但我不确定这是否是最佳方式,或者是否,如何使用它来处理Web应用程序中的功能。 (cakephp 2.0框架,如果这有任何区别)。感谢。
答案 0 :(得分:0)
generate-report
动作会以某种方式触发该脚本。在服务器上执行命令,或者更改cron可以接收的数据库中的标志。
shell脚本只允许一个实例,您将拥有一个包含备份状态的数据库表(百分比和其他详细信息)。
所以流程将是:
generate-report
:没有实例正在运行,备份shell启动generate-report
并读取百分比(因为shell已在运行)