管理持久性PHP脚本进程的推荐方法?

时间:2010-04-09 09:15:33

标签: php process daemon

首先关闭 - 你好,这是我的第一个Stack Overflow问题,所以我会尽力正确沟通。

我的问题的标题可能有点模棱两可,所以让我立即扩展它:

我正计划一个涉及从几个“流”API获取数据输入的项目,Twitter就是一个例子。我有一个用PHP编写的基本脚本,它从命令行无限运行,从Twitter流API获取输入并用它做基本的事情。

我最终的目标是运行几个这样的进程(可能使用System Daemon PEAR类进行守护),我希望能够从一些管理进程(也是一个PHP脚本)来管理它们。通过管理我的意思是基本操作,例如停止/启动和(最关键的)自动重启崩溃的进程。

对于如何最好地处理此流程管理角度,我将不胜感激。再一次,如果这个问题过于庞大,我们会道歉 - 如有必要,我们将不胜感激。感谢阅读,我期待着你的回答。

3 个答案:

答案 0 :(得分:3)

我认为持久化进程的推荐方法根本不是在PHP中进行;)

但是这里有一些相关的问题,看起来有些反馈包含了一些很好的想法和经验。

search中的更多内容。

答案 1 :(得分:2)

这在运行持久性PHP脚本的上下文中不起作用,但 Cron 对于在不同时间以不同间隔运行脚本非常方便。您可以在适当的时间间隔内使用Cron运行它们,而不是让脚本持续运行,停止并启动其他各种脚本。

答案 2 :(得分:0)

您希望这样做的方式是可能的,但是复杂且相对难以维护。

如果你以不同的方式看待它,而不是连续地进行蒸汽处理,你可以定期对数据进行分块。从技术上讲,它仍然是流媒体,特别是像推特这样的提要。

如果某些Feed实时流出,您可能会错过中间的某些数据,那么这可能不适合您。

管理启动和停止以及管理少量数据的流程要容易得多。他们都可以检查数据库中的控制数据并更新状态。此外,使用cron是一种真正的乐趣。

这就是我最近会这样做的。