Delayed_job не выполняет метод выполнения, но очищает очередь заданий

У меня есть новое приложение rails 3, вот мой Gemfile:

source 'http://rubygems.org'
gem 'rails', '3.0.0' gem 'delayed_job'
gem 'sqlite3-ruby', :require => 'sqlite3'

Вот класс, который представляет задание, которое я хотите поставить в очередь:

class Me < Struct.new(:something)
   def perform
     puts "Hello from me"
     logger.info "Hello from me"
     logger.debug "Hello from me"
     raise Exception.new   
   end
end

С консоли, где не работают рабочие:

irb(main):002:0> Delayed::Job.enqueue Me.new(1)
=> #<Delayed::Backend::ActiveRecord::Job id: 7, priority: 0, attempts: 0, handler: "--- !ruby/struct:Me \nsomething: 1\n", last_error: nil, run_at: "2010-12-29 07:24:11", locked_at: nil, failed_at: nil, locked_by: nil, created_at: "2010-12-29 07:24:11", updated_at: "2010-12-29 07:24:11">

Как я уже упоминал: нет работающих рабочих:

irb(main):003:0> Delayed::Job.all
=> [#<Delayed::Backend::ActiveRecord::Job id: 7, priority: 0, attempts: 0, handler: "--- !ruby/struct:Me \nsomething: 1\n", last_error: nil, run_at: "2010-12-29 07:24:11", locked_at: nil, failed_at: nil, locked_by: nil, created_at: "2010-12-29 07:24:11", updated_at: "2010-12-29 07:24:11">]

Я запускаю воркера с script / delayed_job run

Очередь очищается :

irb(main):006:0> Delayed::Job.all
=> []

Однако ничего не происходит в результате put , ничего не регистрируется из вызовов logger , и не возникает никаких исключений. Буду признателен за любую помощь / понимание или что-нибудь, чтобы попробовать.

17
задан Zabba 6 January 2011 в 10:10
поделиться