Конкретная конфигурация шорюкена
Я использую камень 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