5

Sinatra を使用した capistrano デプロイの一部として:

* executing `sidekiq:start'
* executing "cd /var/www/nodes/current ; nohup bundle exec sidekiq -e production -C /var/www/nodes/current/config/sidekiq.yml -P /var/www/nodes/current/tmp/pids/sidekiq.pid -r /var/www/nodes/current/app/nodes.rb >> /var/www/nodes/current/log/sidekiq.log 2>&1 &"

sidekiq/issues/10 に従って-r (require) が私の Sinatra を指すようにする方法がとにかくわかりません。アプリは ./app/nodes.rb にあります。

私のconfig.ruは

require './app/nodes'
run Nodes 
map '/sidekiq' do
    run Sidekiq::Web
end

「./app/nodes」は、nodes と sidekiq の両方を実行する必要があるすべての環境にロードします。

sidekiq /capistrano.rbには、現在 -r フラグを渡すオプションはありません。

sidekiq.log は、予想どおり次のエラーを報告します。

2012-10-12T01:04:59Z 8175 TID-bf65s INFO:                  
2012-10-12T01:04:59Z 8175 TID-bf65s INFO:   Please point sidekiq to a Rails 3 application or a Ruby file
2012-10-12T01:04:59Z 8175 TID-bf65s INFO:   to load your worker classes with -r [DIR|FILE].
2012-10-12T01:04:59Z 8175 TID-bf65s INFO: 

何か案は?

4

1 に答える 1

2

Sidekiqの作成者であるMikePerhamによって解決されました:githubで。sidekiq.ymlで、特定のrequireオプションを追加できます。どうもありがとう!

于 2012-10-13T12:37:30.243 に答える