#amazon-web-services #ruby-on-rails-3 #amazon-sqs
#amazon-веб-сервисы #ruby-on-rails-3 #amazon-sqs
Вопрос:
Я занимаюсь внедрением сервиса Amazon SQS для обработки большого количества сообщений для сохранения его базы данных. Я могу отправить сообщение с помощью right_aws gem. Я также могу извлечь сообщение с примером, предоставленным для gem.
В конечном итоге у меня может возникнуть несколько экземпляров сервера ruby / rails, которые извлекают и обрабатывают сообщение (используя функцию блокировки и тайм-аута SQS). Я хотел бы изучить возможность извлечения сообщения с помощью какого-либо сценария запуска или инициализации во время запуска сервера ruby / rails, и чтобы компонент всегда работал и обрабатывал сообщения до остановки сервера.
Может кто-нибудь, пожалуйста, поделиться ссылкой на то, как это может быть реализовано?
Ответ №1:
Лучший способ сделать это, если обработка не является частью онлайн-запроса, на который вам нужно ответить, — написать специальные скрипты, в которых всегда будет выполняться цикл (и, возможно, спящий режим, если работы не так много).
Вы извлекаете сообщение, обрабатываете его, удаляете и переходите к следующему.
Запустите эти процессы при запуске компьютера и отслеживайте их, используя что-то вроде Supervisorord