私は、Amazon SQSとさまざまなメッセージタイプおよびメッセージコンシューマーを使用して、分散バックエンドに接続するPHPフロントエンドを使用しています。私は、これらのコンシューマーを安全にデバッグする方法を考え出そうとしています。これは、テストされていない新しいコードでエンドユーザーメッセージを消費するメッセージハンドラーが不要であり、メッセージが失われたり、誤って処理されたりするリスクがあるためです。
実際のメッセージキュー名はクラス内のPHP定数としてハードコーディングされているため、最初の戦術は、本番用とデバッグ用の2つの異なるキューのセットを作成し、キュー名定数を2つの異なるファイルに外部化することでした。デバッグ条件が真であるかどうかに応じて、これらの定数定義のいずれかを含め、含まれているファイルの定数を、現在ハードコーディングされている名前を持つクラス定数に割り当てたいと思いました。
PHPでは定数がクラス変数のように機能するように見えるのに対し、インスタンス変数のように値を割り当てようとしているため、これは機能しないようです。次の戦術は、Amazon側に、コードに多くのハックを追加せずにメッセージコンシューマーを透過的にデバッグできるものがあるかどうかを確認することでしたが、これを容易にするものは何も見つかりませんでした。他の誰かが経験したことがあるかどうか知りたいです(そして理想的には、この問題を解決しました)