我有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'中:没有要加载的文件 - rubygems(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时它为什么会死?
答案 0 :(得分:0)
您使用的是Windows还是* nix系统 - 在Windows上,您应该使用ruby game_processor.rb start
而不是_ctl。
此外,当您使用Rails时 - 我认为Rails服务器也应该以所需模式启动,以使守护进程正常运行。