2011-03-15 6 views
0

내 소비자 중 하나가 오류가있는 것으로 보이는 PHP 트랜잭션을 디버깅하려고 머리를 긁적니다. 새 메시지를 삽입하기 전에 소비자가 프로세스 목록을 GREPping하여 실행 중인지 감지 할 수 있지만 이전에는 무엇이 있었는지와 치명적인 오류의 원인을 알 수 없습니다.메시지가 소비자를 사용할 수 없게 할 때 ActiveMQ/Stomp 디버그

내 PHP 소비자는 대략입니다 : 치명적인 오류 또는 무한 루프에서 그것을 깰 것 아무것도 잡을 수있는 방법이

while($isRunning == true) { 
    try{ 
    if($frame = $this->stomp->readFrame()) { 
     $body = $frame->body; 
     $this->stomp->ack($frame); 
    } 
    } catch(StompException $e) { 
    $msg = 'Stomp Monitor readFrame() Callback Fail: '.$e->getMessage(); 
    error_log($msg); 
    } 
} 

있습니까?

덕분에, 스티브

답변

0

exception handler

이 아마도 당신이 잡기되지 예외가 최고 레벨로 설정하십시오. 그것을 캐치하고 기록하여 프로세스가 왜 죽는 지 알 수 있습니다.

+0

현재 set_error_handler를하고 있습니다. 따라서 예외 처리기가 표준 try/catch가 캡처하지 않는 대부분의 오류를 잡는 (치명적인 오류) 작업을 더 잘 수행 할 것이라고 말하고 있습니까? – daxiang28

관련 문제