1

有没有办法为 SQS 编写一个不必定期轮询新消息的 Php 消费者?

到目前为止,我发现使用消息的唯一方法是使用receive_message()api 调用来获取它们,这需要使用定期轮询来完成。

虽然它应该可以工作,但它似乎仍然是错误的。

4

2 回答 2

5

我知道这是一个非常古老的问题,但只是想为未来的读者指出这一点。

SQS 用于轮询,但如果您想要推送解决方案,您实际上可以在 AWS SQS 面板上选择“队列选项”,然后选择“订阅 SNS 主题”。

显然,在执行此操作之前先创建一个 SNS 主题。您可以将主题设置为在每次事件发生时自动向 URL 发送请求,本质上将其转变为推送。

祝你好运!

于 2013-03-21T03:52:11.450 回答
2

让 SQS 如此出色地扩展的神奇之处在于,与其他消息传递系统相比,它提供的功能非常少。用户必须: 轮询消息;处理乱序传递的消息;处理多次传递的消息;处理偶尔非常大的消息传递延迟(如 50 秒)。

它对某些任务非常有用,但对其他任务绝对不可用。我花了太长时间试图让它不是它,我真的认为亚马逊应该在他们的文档中更清楚地警告你它不仅是什么,而且不是什么。我最终使用了 RabbitMQ,并且再高兴不过了——但是,是的,有一点我需要处理扩展它。

于 2012-10-03T16:20:48.557 回答