Le traitement des files d'attente SQS avec boto

J'ai un script python en utilisant le nom de boto bibliothèque instance ec2 qui fait partie d'une mise à l'échelle automatique de groupe. Le script traite les messages d'une file d'attente 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

Fait à l'aide de l'instruction while sens? N'count() mise à jour en temps réel:

  1. d'autres cas, les messages de la file d'attente (ou vais-je double up)
  2. de nouveaux messages sont ajoutés à la file d'attente (ou vais-je manquer?)

Comment puis-je faire ce script rester constamment à l'écoute pour de nouveaux ajouts à la file d'attente, même si la file d'attente est vide?

Dans cette question Le traitement des éléments dans la file d'attente SQS avec un script php il a été mentionné que " sqs ruby bibliothèque client a une méthode "sondage" qui interroge en permanence la file d'attente et sur la réception d'un message dans la file d'attente passe à un bloc". Est-il un équivalent en Python?

Il a également été suggéré que le réseau social pourrait être utilisé pour notifier les scripts de la file d'attente de messages, mais je ne vois pas comment vous pouvez configurer un système réactif avec SNS comme la métrique alarmes ne sont pas à grain fin assez.

vous connaissez le rubis de la bibliothèque? Je voudrais prendre un coup d'oeil
nop désolé, je n'ai vu dans la question ci-dessus.
La caisse SNS - il est préférable de pousser puis à tirer. et ils travaillent très bien ensemble docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html

OriginalL'auteur waigani | 2012-06-21