Не может запустить рельсы драгоценного камня в производственной среде, которая читает из SQS

Gem shoryuken является фоновым рабочим для приложений rails, который читает из aws SQS.

Я могу управлять рабочим шорюкен в моем регионе, и он работает нормально. Когда я запускаю его в производственной среде в AWS, он не работает. Как вы запускаете шорюкен в производственной среде? Я также думаю, что это может быть проблемой с моими группами безопасности AWS. Мы используем VPC. Должен ли я позволить порт SQS? Если да, то в каком порту работает SQS? Мне также интересно, почему он спрашивает о порте 5432, который является портом нашей БД Postgres.

bundle exec shoryuken -r path_to_my_worker.rb -C config/shoryuken.yml --rails RAILS_ENV=production

could not connect to server: Connection refused
    Is the server running on host "localhost" (127.0.0.1) and accepting
    TCP/IP connections on port 5432?

2 ответа

Решение

Попробуйте пройти RAILS_ENV=production до shoryuken, Если вы передадите его позже, это не сработает.

RAILS_ENV=production bundle exec shoryuken -r path_to_my_worker.rb -C config/shoryuken.yml --rails

Оказывается, shoryuken загружает мою среду разработки в aws. Когда я скопировал мои настройки с производства на разработку в database.yml, это сработало. Это не кажется правильным. Я не знаю, как передать команду, чтобы она работала в производственном режиме. Я уже пробовал "RAILS_ENV=production" и "-e production", но не влияет на шорюкен.

Другие вопросы по тегам