Задание отложенного рейка с задержкой - PullRequest
2 голосов
/ 29 января 2010

Я пытаюсь заставить отсроченную работу работать как грабли, но из-за жизни я не могу понять, что я делаю неправильно. Учитывая следующую настройку:

#config/environment.rb
Rails::Initializer.run do |config|
  config.gem 'delayed_job'
end

#Rakefile
begin
    require 'delayed/tasks'
rescue LoadError
    STDERR.puts "Run `rake gems:install` to install delayed_job"
end

#Observer
class SomeObserver < ActiveRecord::Observer
   def foo(bar)
   end
   handle_asynchronously :foo
end

При каждом запуске граблей: очистить, я получаю следующую ошибку:

undefined method `handle_asynchronously' for SomeObserver:Class

Даже при том, что я не получаю эту ошибку, когда я запускаю тестовые случаи или это непосредственно. Есть идеи?

1 Ответ

3 голосов
/ 29 января 2010

Задержка задания определяет handle_asynchronously в Delayed::MessageSending::ClassMethods.DelayedJob автоматически подключает этот модуль к Module в его lib/delayed_job.rb.Скорее всего, вам повезет больше, если бы вы выполнили задание на рейк:

...