我正在使用连接到分布式后端的 PHP 前端,使用 Amazon SQS 和各种消息类型和消息使用者。我试图想出一种方法来安全地调试这些消费者,因为我们不希望消息处理程序使用新的、未经测试的代码消耗最终用户消息,从而冒着消息丢失或错误处理的风险。
实际的消息队列名称被硬编码为类中的 PHP 常量,因此我的第一个策略是创建两组不同的队列,一组用于生产,另一组用于调试,并将队列名称常量外部化到两个不同的文件中。根据我们的调试条件是否为真,我想包含这些常量定义中的一个或另一个,并将包含文件中的常量分配给当前具有硬编码名称的类常量。
这似乎不起作用,因为常量似乎像 PHP 中的类变量一样,而我试图分配像实例变量一样的值。下一个策略是看看亚马逊方面是否有任何东西可以让我们透明地调试我们的消息消费者,而不会在我们的代码中添加大量黑客,但我看不到任何有利于这一点的东西。我很想知道是否有其他人经历过(理想情况下,解决了这个问题)