Sidekiq服务器没有加载配置文件

我正在尝试使用我的sinatra应用程序设置sidekiq,并且我无法启动sidekiq worker以使用配置文件在守护进程模式下运行。

我的项目有以下结构:

project - config -- sidekiq.yml #Sidekiq Config File - app -- app.rb #Sinatra Application File - Rakefile - Gemfile - etc. 

最终目标是创建一些rake任务来处理所有sidekiq任务。

现在,我只是想通过命令行让事情正常工作,然后我会通过rake让它工作。

sidekiq.yml

 # Sidekiq Configuration --- development: logile: ./log/sidekiq_development.log verbose: true pidfile: ./tmp/pids/sidekiq.pid concurrency: 1 queues: - [household_import, 7] 

当我在项目目录中运行此命令时:

捆绑exec sidekiq -C’./config/sidekiq.yml’-e’development’-d

我得到以下内容:

 You really should set a logfile if you're going to daemonize /Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/lib/sidekiq/cli.rb:141:in `daemonize' /Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/lib/sidekiq/cli.rb:39:in `parse' /Users/gutter007/git/webapps/project/vendor/bundle/gems/sidekiq-2.16.1/bin/sidekiq:7:in `' /Users/gutter007/git/webapps/project/vendor/bundle/bin/sidekiq:23:in `load' /Users/gutter007/git/webapps/project/vendor/bundle/bin/sidekiq:23:in `' 

我的困惑是我在配置文件中设置了日志文件。 我的假设是它没有正确地读取或读取cofig文件。

我尝试调整路径,并使用配置文件的完整路径,但它似乎没有更改任何错误消息。 我也调整了配置文件本身,假设格式可能已关闭,但没有骰子。

有谁看到我在这里做错了什么?

如果您需要更多信息,请与我们联系。

谢谢。

我挖掘了sidekiq代码,并调试了我的配置文件问题。

有两个问题:

  1. 我错误地拼写了logfile … doh!
  2. 您需要使用冒号(:)设置每一行以符号化该值。 它将yaml文件拉入哈希,如果没有符号,它将无法识别密钥

所以

 development: logfile: ./log/sidekiq_development.log 

不行,但是

 development: :logfile: ./log/sidekiq_development.log #notice the ':' infront of the logfile 

的确!

这是我更新的工作日志文件。

 # Sidekiq Configuration --- development: :logfile: ./log/sidekiq_development.log :verbose: true :pidfile: ./log/tmp/pids/sidekiq.pid :concurrency: 1 :queues: - [household_import, 7] 

以下命令帮助了我,

sidekiq -d -q carrierwave -l sidekiq.log

你可以省略“-q carrierwave”部分,如果你没有使用’carrierwave’