作为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 &"
无论如何,我看不到让-r(要求)按照sidekiq/issues/10指向我的Sinatra。该应用程序位于./app/nodes.rb中。
我的config.ru是
require './app/nodes'
run Nodes
map '/sidekiq' do
run Sidekiq::Web
end
“./app/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:
有任何想法吗?
伏特
最佳答案
由Sidekiq的创建者Mike Perham解决:on github。在sidekiq.yml中,您可以添加特定的require选项。非常感谢!
关于ruby - 使用Sidekiq,Capistrano,Sinatra进行部署,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12863793/