【发布时间】:2010-12-20 15:43:04
【问题描述】:
我有一个用 PHP (CakePHP) 编写的网站,其中某些资源密集型任务由后台进程处理。这是通过 Beanstalkd 消息队列完成的。我需要某种方法来检索该后台进程的状态,以便我可以使用 Monit 对其进行监控。
后台进程是一个与 Beanstalkd 通信的 CakePHP Shell(只是一个 PHP CLI 脚本)。它只是在 Benastalkd 上做一个 reserve() 并等待新消息。当它收到一条消息时,它会处理它。我想通过Monit 监控这个进程,以便在出现问题时重新启动后台进程。
到目前为止,我一直在考虑编写一个 PHP CLI 脚本,该脚本在 Beanstalkd 中删除一条消息。后台进程获取消息并以某种方式将其内部状态传回 CLI 脚本。但是怎么做?插座?共享内存?其他 IPC 方法?
或者我可能在这里太复杂了,有没有更简单的方法来使用 Monit 监控这样的过程?
提前致谢!
【问题讨论】:
标签: php cakephp monitoring ipc beanstalkd