PHP로 작성된 웹 사이트 (CakePHP)에서 특정 자원 집약적 인 작업이 백그라운드 프로세스에 의해 처리됩니다. 이것은 Beanstalkd 메시지 대기열을 통해 수행됩니다. Monit에서 모니터 할 수 있도록 백그라운드 프로세스의 상태를 검색 할 수있는 방법이 필요합니다.내 PHP beanstalkd 백그라운드 프로세스의 상태 확인
백그라운드 프로세스는 Beanstalkd와 통신하는 CakePHP 쉘 (PHP CLI 스크립트)입니다. 그것은 단순히 Benastalkd에 reserve()를 수행하고 새로운 메시지를 기다립니다. 메시지를 받으면 처리합니다. 어떤 일이 잘못되면 백그라운드 프로세스를 다시 시작할 수 있도록 Monit으로이 프로세스를 모니터링하는 방법이 필요합니다.
내가 지금까지 생각한 것은 Beanstalkd에서 메시지를 삭제하는 PHP CLI 스크립트를 작성하는 것입니다. 백그라운드 프로세스는 메시지를 가져 와서 어떻게 든 내부 상태를 CLI 스크립트에 전달합니다. 그러나 어떻게? 소켓? 공유 메모리? 다른 IPC 방법?
아니면 여기 너무 복잡해서 Monit과 같은 프로세스를 모니터링하는 훨씬 쉬운 방법이 있습니까?
미리 감사드립니다.
찾고. 귀하의 제안은 beanstalkd 메시지를 소비하고있는 백그라운드 프로세스가 아니라, beanstalkd를 테스트하는 것으로 보입니다. 그래서, 어떻게 든 백그라운드 프로세스 (Beanstalkd 나 POSIX 시그널을 통해)를 신호 할 필요가 있습니다.나는 다른 방법을 모른다.) 그리고 백그라운드 프로세스는 상태를 다시 알릴 필요가있다. 그러나 어떻게? –