Конкретная конфигурация шорюкена

Я использую камень Shoryuken, запустив

bundle exec shoryuken -R -C config/shoryuken.yml

а шорюкен.имль есть

concurrency: 25
delay: 0
queues:
- [development_high,  30]
- [development_mid,   6]
- [development_low,   2]

Это отлично работает. Тем не менее, я хотел бы использовать определенные для среды очереди, например, использовать production_high в производстве. Я уверен, что эти очереди существуют в

config/initializers/aws.rb с помощью

%w(low mid high).each do |q|
  sqs.create_queue(queue_name: Rails.env + '_' + q)
end

2 ответа

Решение

Я обычно использую определенный конфиг shoryuken.dev.yml в развитии.

Для очередей в разработке я настоятельно рекомендую создать пользователя ( IAM) для каждого разработчика с необходимыми разрешениями для ресурса. "arn:aws:sqs:::${aws:username}-*", то в конфиге - [<%= aws_user_name %>_queue_name, 1],

Если вы используете ActiveJob, посмотрите на inline вариант. Может быть альтернативой.

И последнее, но не менее важное: вы также можете добавлять очереди во время выполнения, проверьте это.

Одним из возможных путей решения проблемы является использование

concurrency: 25
delay: 0
queues:
- [<%=ENV['RAILS_ENV']%>_high,  30]
- [<%=ENV['RAILS_ENV']%>_mid,     6]
- [<%=ENV['RAILS_ENV']%>_low,     2]

и начать шорюкен с

RAILS_ENV=development bundle exec shoryuken -R -C config/shoryuken.yml
Другие вопросы по тегам