Amazon SQS와 다양한 메시지 유형 및 메시지 소비자를 사용하여 분산 백엔드에 연결하는 PHP 프론트 엔드를 사용하고 있습니다. 최종 사용자 메시지를 소비하는 새롭고 테스트되지 않은 코드가있는 메시지 처리기가 손실되거나 잘못 처리 될 위험이 있으므로 이러한 소비자를 안전하게 디버깅 할 수있는 방법을 찾으려고합니다.Amazon SQS 소비자 디버깅
실제 메시지 대기열 이름은 클래스에서 PHP 상수로 하드 코딩되었으므로 첫 번째 방법은 프로덕션 용으로 또 다른 디버깅 용으로 두 개의 다른 대기열 세트를 작성하고 대기열 이름 상수를 두 개의 다른 파일 . 디버그 조건이 true인지 아닌지에 따라 이러한 상수 정의 중 하나를 포함시키고 포함 된 파일의 상수를 현재 하드 코딩 된 이름을 가진 클래스 상수에 할당하려고합니다.
이것은 상수가 인스턴스 변수와 같은 값을 할당하려고 시도하는 반면에 PHP에서 클래스 변수처럼 작동하는 것처럼 보이기 때문에 작동하지 않는 것처럼 보입니다. 다음 전략은 Amazon의 측면에서 우리 코드에 많은 해킹을 추가하지 않고 투명하게 메시지 소비자를 디버그 할 수있는 것이 있는지를 확인하는 것이 었습니다. 그러나이 작업을 쉽게 수행 할 수는 없었습니다. 다른 사람이 경험했는지 (그리고 이상적으로이 문제를 해결했는지 알고 싶다)