diff --git a/lib/sidekiq/cli.rb b/lib/sidekiq/cli.rb index 347de87b..e16e86e3 100644 --- a/lib/sidekiq/cli.rb +++ b/lib/sidekiq/cli.rb @@ -32,6 +32,7 @@ require 'yaml' require 'singleton' require 'optparse' require 'celluloid' +require 'erb' require 'sidekiq' require 'sidekiq/util' @@ -208,7 +209,7 @@ module Sidekiq def parse_config(cli) opts = {} if cli[:config_file] && File.exist?(cli[:config_file]) - opts = YAML.load_file cli[:config_file] + opts = YAML.load(ERB.new(IO.read(cli[:config_file])).result) queues = opts.delete(:queues) || [] queues.each { |name, weight| parse_queues(opts, name, weight) } end diff --git a/test/config.yml b/test/config.yml index 736e6fa5..9c3b3122 100644 --- a/test/config.yml +++ b/test/config.yml @@ -5,5 +5,5 @@ :pidfile: /tmp/sidekiq-config-test.pid :concurrency: 50 :queues: - - [often, 2] + - [<%="very_"%>often, 2] - [seldom, 1] diff --git a/test/test_cli.rb b/test/test_cli.rb index f4a1e835..bf3772b5 100644 --- a/test/test_cli.rb +++ b/test/test_cli.rb @@ -135,7 +135,7 @@ class TestCli < MiniTest::Unit::TestCase end it 'sets queues' do - assert_equal 2, Sidekiq.options[:queues].count { |q| q == 'often' } + assert_equal 2, Sidekiq.options[:queues].count { |q| q == 'very_often' } assert_equal 1, Sidekiq.options[:queues].count { |q| q == 'seldom' } end end