2011-05-18 85 views
1

我的Rails 3.0.3項目,我試圖創建守護這個步驟:Rails的守護程序不啓動

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

我已經安裝了寶石守護

sudo gem install daemons

那我ve安裝daemon_generator

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

然後創建守護進程

rails generate daemon game_processor

當我嘗試運行守護

./lib/daemons/game_processor_ctl start

我得到了錯誤:

./lib/daemons/game_processor_ctl:2:in `require': no such file to load -- rubygems (LoadError) from ./lib/daemons/game_processor_ctl:2

代碼守護進程:

#!/usr/bin/env ruby

require 'rubygems'

require "daemons"

require 'yaml'

require 'erb'

gem 'activesupport', '>=3.0.0.beta4' require 'active_support'

# For some reason, ActiveSupport 3.0.0 doesn't load. # Load needed extension directly for now. require "active_support/core_ext/object" require "active_support/core_ext/hash"

options = YAML.load( ERB.new( IO.read( File.dirname(FILE) + "/../../config/daemons.yml" )).result).with_indifferent_access

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

Daemons.run File.dirname(FILE) + "/game_processor.rb", options

那麼,什麼是錯的?爲什麼它死了,當試圖要求rubygems?

+1

[披露:我是主持daemon_generator存儲庫的同一個人]。它看起來像紅寶石所描述的守護程序腳本的第一行是不一樣的,你一般使用。你是否安裝了多個Ruby?使用RVM? – 2011-05-18 15:41:04

+0

我有2個可執行文件:ruby和ruby1.9,但我不使用ruby1.9。沒有RVM。 – noff 2011-05-20 05:14:23

+0

我有這個完全相同的問題。雖然我使用RVM。真氣! – twilson 2013-11-27 21:15:10

回答

0

您是在Windows還是* nix系統 - 在Windows上您應該使用ruby game_processor.rb start而不是_ctl。

同樣當你在Rails中使用它時 - 那麼我認爲Rails服務器應該以所需的模式啓動,以使Daemon正常運行。

+0

我在Mac上。 Rails服務器啓動。當我嘗試評論一些require-directive時,ctl-file死於錯誤「Unknown [some] symbol」。 – noff 2011-05-20 05:11:37