PHP无限循环过程;这是好的解决方案吗?

时间:2014-12-19 10:19:09

标签: php infinite-loop background-process

我正在为CMS创建一个插件,并且需要在后台执行一个或多个preriodical任务。由于它是开源CMS的插件,cron作业不是一个完美的解决方案,因为用户可能无法访问其服务器上的cron。

我将通过AJAX请求启动无限循环,然后中止XHR请求。因此,HTTP连接将关闭,但脚本将继续运行。

一般来说这是一个好的解决方案吗?那么服务器资源呢?对于长时间运行的线程,服务器(例如Apache)中是否有任何关闭或限制策略?

1 个答案:

答案 0 :(得分:0)

长时间运行的PHP脚本不太好主意。如果您的脚本使用会话变量,则用户将无法加载任何页面,直到其他基于会话的脚本关闭为止。

如果您确实需要长时间运行的脚本,请确保它不使用任何会话并将其保持在最长执行时间内。不要让它在没有你控制的情况下运行。它可能会导致各种问题。我记得当我制作这样的东西时,我的服务器刚刚崩溃了几次。

知道你想做什么,并确保它在不同的服务器上经过充分测试。

还要搜索类似的模块,并检查它们用于解决此类问题的方法。向专业人士学习。 :)