spawn daemon: gem_original_require: нет такого файла для загрузки --daemon-spawn (Ошибка загрузки) - PullRequest
2 голосов
/ 27 сентября 2010

Я пытаюсь запустить процесс демона, используя гем daemon-spawn.Вот код для процесса демона 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

есть идеи?любая помощь?

Ответы [ 3 ]

3 голосов
/ 12 августа 2011

У меня была такая же проблема, изначально у меня было alexvollmer-daemon-spawn, но я не смог запустить большее количество процессов, поэтому я удалил его и установил daemon-spawn gem, который мне помог.

Примечание:Когда вы используете alexvollmer-daemon-spawn драгоценный камень, используйте require daemon-spawn, но если вы используете daemon-spawn, используйте драгоценный камень daemon_spawn (используйте подчеркивание).

2 голосов
/ 24 мая 2011

Была такая же проблема.Попробуйте

require 'daemon_spawn'

Т.е. используйте подчеркивание.

0 голосов
/ 28 сентября 2010

Похоже, у облачного сервера нет драгоценного камня-демона.Вы используете упаковщик на Heroku или что-то еще?

...