使用Sidekiq、Capistrano和Sinatra进行部署

5
作为Capistrano与Sinatra集成部署的一部分:
* 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(需要)指向我的Sinatra,参见sidekiq/issues/10。应用程序位于./ 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: 

有什么想法吗?

V

1个回答

2

由Sidekiq的创建者Mike Perham解决:在github上。在sidekiq.yml中,您可以添加特定的require选项。非常感谢!


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接