Rails守护程序无法启动

时间:2011-05-18 15:00:54

标签: ruby-on-rails ruby-on-rails-3 daemon

我有Rails 3.0.3项目,我尝试通过以下步骤创建守护进程:

http://railscasts.com/episodes/129-custom-daemon

我已经安装了gem守护进程

  

sudo gem install守护进程

然后我安装了daemon_generator

  

rails plugin install https://github.com/dougal/daemon_generator.git

然后创建了守护程序

  

rails生成守护进程game_processor

当我尝试运行守护程序时

  

./ lib / daemons / game_processor_ctl start

我收到了错误:

  

./ lib / daemons / game_processor_ctl:2:在`require'中:没有要加载的文件 - ruby​​gems(LoadError)   来自./lib/daemons/game_processor_ctl:2

守护程序代码:

  

#!/ usr / bin / env ruby​​

     

要求'rubygems'

     

需要“守护进程”

     

要求'yaml'

     

要求'erb'

     

gem'activesupport','> = 3.0.0.beta4'   需要'active_support'

     

#由于某种原因,ActiveSupport 3.0.0无法加载。   #暂时加载所需的扩展名。   需要“active_support / core_ext / object”   需要“active_support / core_ext / hash”

     

options = YAML.load(     ERB.new(       IO.read(         File.dirname( FILE )+“/../../ config / daemons.yml”     ))。结果).with_indifferent_access

     

options [:dir_mode] = options [:dir_mode] .to_sym

     

Daemons.run File.dirname( FILE )+“/ game_processor.rb”,选项

那么,怎么了?当试图要求rubygems时它为什么会死?

1 个答案:

答案 0 :(得分:0)

您使用的是Windows还是* nix系统 - 在Windows上,您应该使用ruby game_processor.rb start而不是_ctl。

此外,当您使用Rails时 - 我认为Rails服务器也应该以所需模式启动,以使守护进程正常运行。