我有一些 php 脚本 updater.php
,它可以完成 1-2 分钟的工作。完成脚本工作很重要。
我可以用 cron 运行它,但我有一些想法。
只有当用户进入例如主页时,脚本才会运行具体时间。在这种情况下,不必每次都执行脚本,仅在需要时才执行。
因此,用户加载http://localhost/index.php
,js脚本发布小get请求:
$.get('/json/updater.php', function(data){ return true; });
请求会在 1-2 分钟内处理完毕。
问题:如果用户关闭浏览器中的选项卡并因此中断 $.get 请求,updater.php
的处理会停止吗?
最佳答案
如果关闭浏览器窗口,请求不会被取消,因此 PHP 将能够简单地完成脚本(假设执行时间不超过配置的最大时间请参阅:http://php.net/manual/en/function.set-time-limit.php) 。当然,一旦关闭窗口,您在 JavaScript 中执行的任何操作都会停止。
关于php cron 替换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8672582/