J'ai un script Python à l'aide de la bibliothèque de Boto sur l'instance EC2 faisant partie d'un groupe d'autoscalage. 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
3 Réponses :
Vous ne devriez pas compter sur le compte pour une file d'attente, car il est seulement destiné à fournir un nombre approximatif et n'est pas garanti d'être précis.
Si vous voulez continuer à sonder pour toujours, faites cela: P >
while 1: messages = q.get_messages() # do something with messages time.sleep(N)
Si vous souhaitez interroger constamment la file d'attente, essayez ce qu'on appelle BURINGE LONG - Vous pouvez avoir un sondage continu pendant 20 secondes pouvant aller jusqu'à 20 secondes lorsque la file d'attente est peuplée. P>
J'espère que c'est utile, sinon piquez sur le Boto SQS Documentation . p>
L'invisibilité du message est par défaut 30 secondes, pas 4 jours. Et cette période peut être modifiée.
Exemple:
Vous savez quelle bibliothèque de rubis? J'aimerais y jeter un coup d'oeil
NOP désolé, je ne l'ai vu que dans la question liée ci-dessus.
Checkout SNS - Il vaut mieux pousser puis tirer. Et ils travaillent très bien ensemble ensemble docs.aws.amazon.com/sns/ Dernier / DG / SENDMESSAGETOSQS.HTML