Wie funktioniert Amazon SQS Benachrichtigen eines meiner "Arbeiter" - Servern, wenn es etwas in der Warteschlange?
Ich bin nach diesem tutorial: http://boto.s3.amazonaws.com/sqs_tut.html
Wenn etwas in der Warteschlange, wie ordne ich einer meiner 20 Arbeiter, um es zu verarbeiten?
Ich bin mit Python.
InformationsquelleAutor der Frage TIMEX | 2010-11-14
Du musst angemeldet sein, um einen Kommentar abzugeben.
Leider SQS fehlt etwas von der Semantik haben wir oft erwarten Sie in Warteschlangen. Es gibt keine Benachrichtigung oder irgendeine Art von Blockierung "get" - Aufruf.
Amazon ist mit SNS/Simple Notification Service kann nützlich sein, um Sie in diesem bemühen. Wenn Sie Hinzugefügt haben, die Arbeit in die Warteschlange, können Sie senden, eine Benachrichtigung zu abonnierten Arbeitnehmer.
Siehe auch:
http://aws.amazon.com/sns/
Best practices für die Verwendung von Amazon SQS - abrufen der Warteschlange
InformationsquelleAutor der Antwort Nicholas Knight
Dies ist (jetzt) möglich sind mit Long polling auf einer SQS-Warteschlange.
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/APIReference/Query_QueryReceiveMessage.html
Long poll-Unterstützung (ganze Zahl von 1 bis 20) - die Dauer (in Sekunden) , die ReceiveMessage-action-Aufruf wartet, bis eine Nachricht in der Warteschlange auf, in der Reaktion, im Gegensatz zu der Rückkehr eine leere Antwort, wenn eine Nachricht ist noch nicht verfügbar.
Wenn Sie nicht angeben WaitTimeSeconds in der Anforderung, die Warteschlange Attribut ReceiveMessageWaitTimeSeconds wird verwendet, um festzustellen, wie lange zu warten.
Typ: Ganzzahl von 0 bis 20 (Sekunden)
Standard: Die ReceiveMessageWaitTimeSeconds der Warteschlange.
InformationsquelleAutor der Antwort opepin
Wirklichen, wenn Sie Sie nicht erfordern eine niedrige Latenz, können Sie versuchen, diese:
Erstellen eines cloudwatch-alarm auf Ihr queue, wie Nachrichten zu sehen oder Nachrichten empfangen > 0.
Als eine Aktion, die Sie senden eine Nachricht an ein sns-Thema, die dann senden Sie die Nachricht an Ihre Mitarbeiter, die über eine http/s-Endpunkt.
normalerweise wird diese Art von Ansatz verwendet wird, für autoskalierender.
InformationsquelleAutor der Antwort Justus Krapp
Weiter darauf hin ein problem mit der SQS - Sie müssen Umfrage für neue Nachrichten, und es ist keine garantieren, dass Sie sich auf eine bestimmte Umfrage erhalten Sie ein Ereignis, das es in der Warteschlange (dies ist aufgrund der Redundanz von Ihrer Architektur). Das heißt, Sie müssen berücksichtigen die Möglichkeit, dass Ihr Wahllokal nicht wieder eine Nachricht, dass Sie existiert (was für mich bedeutete, dass ich brauchte, um die Erhöhung der polling-rate).
Alles in allem fand ich, zu viele Einschränkungen mit SQS (wie ich gefunden habe mit einigen anderen AWS-tools wie SimpleDB). Aber das ist nur meine injiziert Meinung.
InformationsquelleAutor der Antwort David Parks
Gibt es jetzt eine JMS-wrapper für die SQS von Amazon, dass Sie die Zuhörer, die automatisch ausgelöst wird, wenn eine neue Nachricht verfügbar ist.
http://docs.aws.amazon.com/AWSSimpleQueueService/latest/SQSDeveloperGuide/jmsclient.html#jmsclient-gsg
InformationsquelleAutor der Antwort BrianC