【问题标题】:Rails daemon do not startRails 守护进程不启动
【发布时间】:2011-08-28 03:50:04
【问题描述】:

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

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

我已经安装了 gem 守护进程

sudo gem 安装守护进程

然后我已经安装了 daemon_generator

rails 插件安装https://github.com/dougal/daemon_generator.git

然后创建守护进程

rails 生成守护进程 game_processor

当我尝试运行守护进程时

./lib/daemons/game_processor_ctl start

我收到错误:

./lib/daemons/game_processor_ctl:2:in `require': no such file to load -- ruby​​gems (LoadError) 来自 ./lib/daemons/game_processor_ctl:2

守护进程代码:

#!/usr/bin/env ruby​​

需要“红宝石”

需要“守护进程”

需要'yaml'

需要'erb'

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

# 出于某种原因,ActiveSupport 3.0.0 无法加载。 # 现在直接加载需要的扩展。 需要“active_support/core_ext/object” 需要“active_support/core_ext/hash”

选项 = YAML.load( ERB.新( 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

那么,怎么了?为什么它在尝试要求 ruby​​gems 时死了?

【问题讨论】:

  • [披露:我是托管 daemon_generator 存储库的同一个人]。看起来您的守护程序脚本的第一行描述的 ruby​​ 与您通常使用的不一样。你安装了多个 Ruby 吗?使用 RVM?
  • 我有 2 个可执行文件:ruby 和 ruby​​1.9,但我不使用 ruby​​1.9。没有 RVM。
  • 我遇到了同样的问题。虽然我使用的是 RVM。真气!

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


【解决方案1】:

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

当您将它与 Rails 一起使用时,我认为 Rails 服务器也应该以必需的模式启动,以使 Daemon 正常运行。

【讨论】:

  • 我在 Mac 上。 Rails 服务器启动。当我尝试评论一些要求指令时,ctl-file 会出现错误“未知 [某些] 符号”。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-01-09
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-01-13
  • 1970-01-01
相关资源
最近更新 更多