2014-05-24 4 views
0

나는 PHP 트위터 스트리밍 코드 하나를 작성하여 라이브 트윗을 지속적으로 검색하거나 필터링합니다. 파일을 중지하고 다시 실행한다는 것을 식별하는 기능이 있어야하므로 네트워크 장애로 인해 파일이 중지된다고 가정하면 질문이 있습니다. 이미 달리면 아무것도 하지마. 도움이 필요해?확인 내 PHP 파일이 실행 중인지 확인하십시오. 실행 파일이 아닌 경우

답변

1

"잠금 장치"를 찾고 있습니다. 많은 접근법이 인터넷의 예에서 발견됩니다. 가장 쉬운 방법은 일반적으로 매분마다 스크립트를 시작하는 cron 작업 인 "트리거"이벤트를 구현하는 것입니다. 스크립트가 수행하는 첫 번째 작업은 실행중인 다른 인스턴스가 있는지 확인하는 것입니다. 그렇다면 그것은 스스로를 끝내고, 그렇지 않다면 그 진정한 목적으로 계속됩니다. 따라서 중요한 부분은 탐지 단계입니다. 다른 대안을 다시 사용할 수 있습니다. 가장 쉬운 방법은 스크립트를 처리하는 잠금 파일을 작성하는 것입니다. 그런 다음 부분적으로 시작된 스크립트 인스턴스는 이러한 잠금 파일의 존재 여부를 확인할 수있을뿐만 아니라 프로세스 ID를 읽음으로써 프로세스 테이블에 대해 테스트하여 이전 스크립트가 아직 실행 중인지 확인합니다. 이것은 강력하고 자주 나타나는 패턴입니다.

+0

이 파일을 실행하기 위해 cron 작업을 사용하면 얼마 동안 내 BandWidth가 영향을 받게 될 것인가 - 매분마다 실행됩니다. – BeingShashi

+0

대역폭에 전혀 영향을주지 않습니다. 대역폭은 네트워크 인터페이스를 통해 전송 된 데이터 볼륨을 측정합니다. cron 작업은 루프백 인터페이스를 사용하여 로컬에서 요청합니다. 대역폭 제한에는 아무런 영향을 미치지 않습니다. 그건 내가 강조하고 싶다 : cron 작업은 PHP 파일이 설치되어있는 시스템에서 실행되어야하며, 일부 클라이언트 시스템에서는 실행되지 않아야한다. – arkascha

0

리눅스를 사용하는 경우 프로세스 모니터링 도구 인 신 http://godrb.com/을 사용할 수 있습니다. 당신은 PHP 스크립트를 모니터링 할 수 있어야한다. 이 작업은 스크립트를 다시 시작하고 전자 메일 알림을 보낼 수 있습니다. 약간의 구성을 취할 것이지만, 그것은 당신을 위해 일해야합니다.

+0

답장을 보내 주셔서 감사합니다,하지만 수동 솔루션을 찾고 있지 않습니다. PHP 코드 또는 쉘 스크립트를 사용하여 작성된 방법이 있습니까? – BeingShashi

+0

"수동"솔루션으로 어떻게 보는지 잘 모르겠습니다. 일단 설정하면 더 이상 수동 조작이 필요하지 않습니다. cron 작업 설정과 비슷합니다. – dmullings

관련 문제