2012-10-02 70 views
0

有沒有辦法爲SQS編寫Php消費者,而不必定期輪詢新消息?使用Php從AWS SQS獲取消息而無需輪詢

消耗我迄今發現使用receive_message() API調用它需要使用定期輪詢來實現他們獲取信息的唯一途徑。

雖然它應該工作,但它似乎仍然是錯誤的。

回答

2

,讓SQS規模這麼好神奇的是相對於其他消息傳遞系統,它提供了非常少的特點。用戶必須:輪詢消息;處理不按順序發送的消息;處理不止一次交付的消息;處理消息傳遞中的偶爾非常大的延遲(如50秒)。

這對某些任務很好,對其他人絕對不可用。我花了很長時間試圖去實現它,但我真的認爲亞馬遜應該在他們的文檔中更清楚地警告你,不僅僅是它是什麼,而且也不是。我結束了與RabbitMQ,並不能更快樂 - 但是,有一點我需要處理擴展它。

+0

我想使用SQS的唯一原因是我可以將SNS消息轉發給SQS。 –

4

我知道這是一個很老的問題,但只是想指出這一點對未來的讀者。

SQS用於輪詢,但如果您需要推送解決方案,則可以在AWS SQS面板上選擇「隊列選項」,然後選擇「訂閱SNS主題」。

顯然在做這件事之前做一個SNS話題。您可以將主題設置爲在每次發生事件時自動向URL發送請求,實質上將其轉化爲推送。

祝你好運!