我有一個python腳本在ec2實例上使用boto庫,它是autoscaling組的一部分。該腳本處理來自SQS隊列的消息:使用boto處理SQS隊列
import boto
from boto.sqs.message import Message
conn = boto.connect_sqs()
q = conn.create_queue('queue-name')
while (qin.count() > 0):
m = q.get_messages()
#do something with the message
使用while語句是否有意義?是否計數()更新作爲實時:(?或者我會想念他們)
- 其他情況下需要關閉消息隊列(或我要加倍)
- 新消息被添加到隊列
即使在隊列爲空的情況下,如何使此腳本不斷地偵聽隊列中的新增加內容?
在這個問題Processing items in SQS queue with a php script有人提到'sqs ruby客戶端庫有一個方法「輪詢」,它連續輪詢隊列,並在隊列中接收消息時將它傳遞給一個塊。 Python中是否有等價物?
也有人建議SNS可以用來通知腳本消息隊列的狀態,但我沒有看到如何配置SNS的響應系統,因爲度量標準報警不夠精細。
你知道哪個Ruby庫?我想看看它 – Hassek
對不起,我只看到它在上面鏈接的問題。 – waigani
結帳SNS - 最好是推動然後拉。並且他們在一起很好地工作http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html –