У меня есть скрипт python с использованием библиотеки boto на экземпляре ec2, который является частью группы автомасштабирования. Сценарий обрабатывает сообщения из очереди SQS:Обработка очередей SQS с boto
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? Есть ли COUNT() обновление в режиме реального времени (? Или я их не хватает)
- другие случаи принимать сообщения из очереди (или я собираюсь удвоить)
- новые сообщения добавляются в очередь
Как заставить этот скрипт постоянно слушать новые добавления в очередь, даже если очередь пуста?
В этом вопросе Processing items in SQS queue with a php script было упомянуто, что «клиентская библиотека sqs ruby имеет метод« poll », который непрерывно обследует очередь и при получении сообщения в очереди передает его на блок». Есть ли эквивалент в Python?
Было также высказано предположение, что SNS может использоваться для уведомления о сценариях состояния очереди сообщений, но я не вижу, как вы можете настроить чувствительную систему с помощью SNS, поскольку метрические сигналы тревоги недостаточно мелкие.
вы знаете, какие библиотеки Ruby? Я бы хотел взглянуть на это – Hassek
nop sorry, я только видел это в связанном выше вопросе. – waigani
Оформление заказа SNS - лучше нажать, чтобы потянуть. и они отлично работают вместе http://docs.aws.amazon.com/sns/latest/dg/SendMessageToSQS.html –