我有Rails 3.0.3项目,我试图通过以下步骤创建守护进程:
http://railscasts.com/episodes/129-custom-daemon
我已经安装了宝石守护程序
sudo gem install 守护进程
然后我安装了daemon_generator
导轨插件安装 https://github.com/dougal/daemon_generator.git
然后创建了守护进程
轨道生成守护进程game_processor
当我尝试运行守护程序时
./lib/daemons/game_processor_ctl start
我收到错误:
./lib/daemons/game_processor_ctl:2:in 'require': 没有这样的文件要加载 -- rubygems (LoadError) from ./lib/daemons/game_processor_ctl:2
守护进程代码:
#!/usr/bin/env ruby
需要"红宝石"
需要"守护进程"
需要"yaml"
需要"ERB"
gem 'activesupport', '>=3.0.0.beta4' 需要"active_support"
# 由于某种原因,活动支持 3.0.0 无法加载。 # 现在直接加载需要扩展。 需要"active_support/core_ext/对象" 需要"active_support/core_ext/哈希"
选项 = YAML.load( ERB.new( IO.read( File.dirname(FILE) + "/../../config/daemons.yml" )).结果).with_indifferent_access
选项[:d ir_mode] = 选项[:d ir_mode].to_sym
Daemons.run File.dirname(FILE) + "/game_processor.rb", options
那么,这是怎么回事呢?为什么在尝试需要红宝石时它会死?
您使用的是 Windows 还是 *nix 系统 - 在 Windows 上您应该使用 ruby game_processor.rb start
而不是 _ctl。
同样,当您将其与 Rails 一起使用时 - 那么我认为 Rails 服务器也应该在所需模式下启动以使守护程序正常运行。