使用Php从AWS SQS获取消息而不进行轮询

时间:2012-10-02 16:41:36

标签: php amazon-sqs

有没有办法为SQS编写Php使用者,而不必定期轮询新邮件?

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

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

2 个答案:

答案 0 :(得分:4)

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

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

在执行此操作之前,显然要制作一个SNS主题。您可以将主题设置为每次事件发生时自动向URL发送请求,从而将其转化为推送。

祝你好运!

答案 1 :(得分:2)

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

这对某些任务来说很棒,对其他人来说绝对无法使用。我花了很长时间试图让它成为现实,我真的认为亚马逊应该在他们的文档中更清楚地警告你不仅仅是它是什么,而是什么不是。我最终得到了RabbitMQ,并且感到非常高兴 - 但是,有一点我需要处理扩展它。