我用的是
bundle exec shoryuken -R -C config/shoryuken.yml
而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
最佳答案
我通常在开发中使用特定的配置。
对于开发中的队列,我强烈建议为每个开发人员创建一个用户(IAM),对于资源shoryuken.dev.yml
,使用the needed permissions,然后在config"arn:aws:sqs:::${aws:username}-*"
中创建。
如果您使用的是activejob,请查看- [<%= aws_user_name %>_queue_name, 1]
选项。可能是另一种选择。
最后,也可以在运行时添加队列,检查this。