Problem
我有一个表单,当提交时,将运行基本代码来处理提交的信息,并将其插入到数据库中,以便在通知网站上显示.此外,我还有一个通过邮箱和短信注册接收这些通知的人的名单.就目前而言,这个列表是微不足道的(只有150个左右),但它足以导致需要一分钟以上的时间才能浏览整个订阅表并发送150多封邮箱.(由于批量邮箱策略,我们的邮箱服务器的系统管理员要求单独发送邮箱.)
在此期间,发布alert 的个人将在表单的最后一页停留近一分钟,而不会有任何积极的补充说明他们的通知正在发布.这导致了其他潜在的问题,所有可能的解决方案我都觉得不太理想.
首先,海报可能会认为服务器落后,再次单击"提交"按钮,导致脚本重新启动或运行两次.我可以通过使用JavaScript禁用按钮来解决这个问题,并将文本替换为"处理…"之类的内容,然而,这并不理想,因为在执行脚本的过程中,用户仍然会被困在页面上.(此外,如果禁用了JavaScript,这个问题仍然存在.)
其次,提交表单后,海报可能会过早关闭选项卡或浏览器.脚本将一直在服务器上运行,直到它try 回写到浏览器,但是如果用户随后浏览到我们域中的任何页面(脚本仍在运行),浏览器将挂起加载页面,直到脚本结束.(仅当浏览器的选项卡或窗口关闭时,而不是整个浏览器应用程序关闭时,才会发生这种情况.)不过,这还不太理想.
(Possible) Solution
但是,如果我可以运行这个脚本作为后台进程呢?所以,我的问题是:我如何执行一个PHP脚本来作为后台服务触发,并完全独立于用户在表单级别所做的操作来运行?
EDIT:此cannot必须是cron'ed.它必须在表单提交时立即运行.这些是高优先级通知.此外,运行我们服务器的系统管理员不允许cron的运行频率超过5分钟.