首先关闭 - 你好,这是我的第一个Stack Overflow问题,所以我会尽力正确沟通。
我的问题的标题可能有点模棱两可,所以让我立即扩展它:
我正计划一个涉及从几个“流”API获取数据输入的项目,Twitter就是一个例子。我有一个用PHP编写的基本脚本,它从命令行无限运行,从Twitter流API获取输入并用它做基本的事情。
我最终的目标是运行几个这样的进程(可能使用System Daemon PEAR类进行守护),我希望能够从一些管理进程(也是一个PHP脚本)来管理它们。通过管理我的意思是基本操作,例如停止/启动和(最关键的)自动重启崩溃的进程。
对于如何最好地处理此流程管理角度,我将不胜感激。再一次,如果这个问题过于庞大,我们会道歉 - 如有必要,我们将不胜感激。感谢阅读,我期待着你的回答。
答案 0 :(得分:3)
我认为持久化进程的推荐方法根本不是在PHP中进行;)
但是这里有一些相关的问题,看起来有些反馈包含了一些很好的想法和经验。
Run php script as daemon process(特别是第2和第3个答案)
search中的更多内容。
答案 1 :(得分:2)
这在运行持久性PHP脚本的上下文中不起作用,但 Cron 对于在不同时间以不同间隔运行脚本非常方便。您可以在适当的时间间隔内使用Cron运行它们,而不是让脚本持续运行,停止并启动其他各种脚本。
答案 2 :(得分:0)
您希望这样做的方式是可能的,但是复杂且相对难以维护。
如果你以不同的方式看待它,而不是连续地进行蒸汽处理,你可以定期对数据进行分块。从技术上讲,它仍然是流媒体,特别是像推特这样的提要。
如果某些Feed实时流出,您可能会错过中间的某些数据,那么这可能不适合您。
管理启动和停止以及管理少量数据的流程要容易得多。他们都可以检查数据库中的控制数据并更新状态。此外,使用cron是一种真正的乐趣。
这就是我最近会这样做的。