在后台单击按钮时运行PHP脚本(无论用户页面更改或浏览器退出如何)

我有一个脚本,可以通过MySQL查询和其他PHP操作来解析大量历史数据。

从本质上讲,它是一个“订单报告”生成器,可以输出大量数据并将其形成数组,然后最终将其编码为json并将其保存在我的服务器上。

我想进一步优化这些内容,但是要生成30天的报告大约需要10到15秒,完成90天需要45秒到一分钟,从2-3分钟到180天不等,整个过程一年完成脚本通常需要5分钟以上。

我想像eBay和Amazon一样,由于加载时间的缘故,需要一个“文件队列”系统,因为用户不想在加载方案中等待5分钟来等待年度报告。

我了解有关Ajax请求的信息,以及如何完成此操作,甚至还了解了执行请求的隐藏iframe。我担心的是,如果用户更改页面(如果是正常的ajax请求)或退出浏览器,脚本执行将无法完成。

我唯一的其他想法是可能有一个cron作业以及一个插入用户请求的MySQL表,但是考虑到CRON必须每分钟,每天,每一天不间断运行一次检查是否发出了报告请求。

这似乎是合理的,但也许并不理想,因为每天24/7/365每分钟运行一次cron似乎会连续不断地产生一些负担(特别是因为生成报告的次数很少)。 / p>

任何人都可以推荐/建议采取某种行动路线,这对我的服务器不会造成负担,并且无论用户采取何种行动,该行动路线仍然可以运行并完成?

qq4714167 回答:在后台单击按钮时运行PHP脚本(无论用户页面更改或浏览器退出如何)

暂时没有好的解决方案,如果你有好的解决方案,请发邮件至:iooj@foxmail.com
本文链接:https://www.f2er.com/3132603.html

大家都在问