使用Sidekiq和纯Ruby指定特定于环境的配置

时间:2014-06-28 15:39:33

标签: ruby sidekiq

我试图弄清楚如何根据环境编写特定的Sidekiq配置。我知道你可以在config / sidekiq.yml中写一下:

:concurrency: 5
:verbose: false
:pidfile: ./tmp/pids/sidekiq.pid
:logfile: ./log/sidekiq.log
:queues:
  - [carrierwave, 7]
  - [client_emails, 5]
  - [default, 3]
staging:
  :concurrency: 10
production:
  :concurrency: 25

但是,现在并且基于:por.rb,我将在该文件中使用Redis配置。但Redis地址会改变Sidekiq是在localhost还是在Amazon中运行。所以我的问题是,在纯Ruby中,你如何编写特定的配置环境文件?我知道在Rails中你会在config/initializers/environment/sidekiq.rb下编写具体的内容,但在纯Ruby中呢?

1 个答案:

答案 0 :(得分:0)

要支持sidekiq中的多个环境 - 请查看:Sidekiq configuration for multiple environments

对于您的具体问题 - 如何在纯红宝石中实现初始化程序,您可以将它们放在任何您想要的位置,但您需要在主文件中require

如果你想要更复杂(或者你有很多初始化器),你可以在一个文件夹(例如initializers/)下要求所有这些,然后在该文件夹下需要任何东西:< / p>

Dir["/initializers/*.rb"].each {|file| require file }