我正在为CMS创建一个插件,并且需要在后台执行一个或多个preriodical任务。由于它是开源CMS的插件,cron作业不是一个完美的解决方案,因为用户可能无法访问其服务器上的cron。
我将通过AJAX请求启动无限循环,然后中止XHR请求。因此,HTTP连接将关闭,但脚本将继续运行。
一般来说这是一个好的解决方案吗?那么服务器资源呢?对于长时间运行的线程,服务器(例如Apache)中是否有任何关闭或限制策略?
答案 0 :(得分:0)
长时间运行的PHP脚本不太好主意。如果您的脚本使用会话变量,则用户将无法加载任何页面,直到其他基于会话的脚本关闭为止。
如果您确实需要长时间运行的脚本,请确保它不使用任何会话并将其保持在最长执行时间内。不要让它在没有你控制的情况下运行。它可能会导致各种问题。我记得当我制作这样的东西时,我的服务器刚刚崩溃了几次。
知道你想做什么,并确保它在不同的服务器上经过充分测试。
还要搜索类似的模块,并检查它们用于解决此类问题的方法。向专业人士学习。 :)