【问题标题】:daemon spawn : gem_original_require : no such file to load --daemon-spawn (Load Error)daemon spawn : gem_original_require : 没有要加载的文件 --daemon-spawn (加载错误)
【发布时间】:2011-04-17 23:07:13
【问题描述】:

我正在尝试使用 daemon-spawn gem 运行守护进程。 这是delayed_delta守护进程的代码


#file - script/dj
#!/usr/bin/env ruby
# -*- ruby -*-
require 'rubygems'
require 'daemon-spawn'

RAILS_ROOT = File.expand_path(File.join(File.dirname(__FILE__), '..'))

class DelayedJobWorker  ENV['MIN_PRIORITY'],
      :max_priority => ENV['MAX_PRIORITY']
    ).start
  end

  def stop
    system("kill `cat #{RAILS_ROOT}/tmp/delayed_job.pid`")
  end
end

DelayedJobWorker.spawn!(:log_file => File.join(RAILS_ROOT, "log", "delayed_job.log"),
                        :pid_file => File.join(RAILS_ROOT, 'tmp', 'delayed_job.pid'),
                        :sync_log => true,
                        :working_dir => RAILS_ROOT)

当我运行时,这在我的本地机器上运行良好

ruby script/dj start
,但是当我在云服务器中运行它时,它会抛出一个奇怪的错误

/usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `gem_original_require': no such file to load -- daemon-spawn (LoadError)
    from /usr/lib/ruby/1.8/rubygems/custom_require.rb:31:in `require'
    from script/dj:4

有什么想法吗?有什么帮助吗?

【问题讨论】:

    标签: ruby-on-rails ruby rubygems daemon


    【解决方案1】:

    我遇到了同样的问题,最初我有alexvollmer-daemon-spawn,但我无法运行更多数量的进程,所以我卸载了它并安装了对我有用的daemon-spawn gem。

    注意:当你使用alexvollmer-daemon-spawn gem 时使用require daemon-spawn,但是当你使用daemon-spawn gem 时使用需要daemon_spawn(使用下划线)。

    【讨论】:

      【解决方案2】:

      遇到了同样的问题。试试

      require 'daemon_spawn'
      

      即使用下划线。

      【讨论】:

        【解决方案3】:

        看起来云服务器没有 daemon-spawn gem。你是在 Heroku 上使用 bundler 还是其他什么东西?

        【讨论】:

        • 好的,事情就是这样!我在本地有“alexvollmer-daemon-spawn”,在我的云中有“daemon-spawn”!!傻我....
        猜你喜欢
        • 2012-02-19
        • 2011-05-02
        • 2012-01-07
        • 1970-01-01
        • 1970-01-01
        • 2011-11-07
        • 1970-01-01
        • 2014-11-13
        • 1970-01-01
        相关资源
        最近更新 更多