Как заставить delayed_job просто работать

Я следил за railscast, в котором используется форк CollectiveIdea. Я не могу заставить его работать. Я создал новый файл в папке /lib и включил это

class Device
  def deliver
    #my long running method
  end
  handle_asynchronously :deliver
end

device = Device.new
device.deliver 

Я делаю script/delayed_job, и это разветвляет экземпляр приложения. Сейчас,

  1. Никакой трудовой деятельности не происходит. Ничего в таблице delayed_jobs и ничего в логах. Я что-то упустил здесь?
  2. Как установить интервал, в течение которого должен выполняться метод? (Экс каждые 30 секунд)

Я тестирую это в режиме разработки (Rails 2.3.2) и скоро перенесу это в производство.

Спасибо !


person Shreyas    schedule 23.11.2010    source источник


Ответы (2)


Видите ли вы процесс для скрипта/delayed_job, который вы запустили? Сделайте ps aux | grep delayed_job и посмотрите, запущен ли процесс.

Насколько я знаю, вы не можете установить какие-либо временные интервалы с помощью отложенной работы.

person Vijay Dev    schedule 24.11.2010

В качестве первого шага для диагностики проблемы:

  1. Остановите своих рабочих
  2. Запустить отложенное задание
  3. Проверьте, присутствует ли он в базе данных.
person Nicolas Raoul    schedule 21.10.2011