У Amazon есть услуга, которой вы можете воспользоваться. Это называется Simple Queue Service. http://aws.amazon.com/sqs/
Вы можете использовать это, чтобы ставить задания в очередь и выбирать их из очереди по одному.
Когда сообщение получено, оно становится «заблокированным» пока обрабатывается. Это предотвращает одновременную обработку сообщения другими компьютерами. Если обработка сообщения завершится неудачно, срок действия блокировки истечет, и сообщение снова будет доступен. В случае, если приложению нужно больше время обработки, таймаут «блокировки» можно динамически изменять с помощью операцию ChangeMessageVisibility.
Существует ряд альтернатив, которые могут удовлетворить ваш случай использования:
Redis может быть решением такого рода проблем. Поскольку он обрабатывает атомарные операции .