Я получаю странную ошибку при использовании DataMapper в качестве бэкэнда для отложенного задания.В настоящее время я использую следующие драгоценные камни:
delayed_job, 2.1.0.pre2
delayed_job_data_mapper, 1.0.0.rc
В соответствии с инструкциями, найденными здесь:
https://github.com/collectiveidea/delayed_job_data_mapper
Я могу успешно запустить
Delayed::Worker.backend = :data_mapper
Delayed::Worker.backend.auto_upgrade!
, а также помещать объекты в базу данных.Тем не менее, когда я пытаюсь запустить задачу rake для запуска работника, рабочие запускаются успешно, но затем при попытке решить, какие задания извлекать, выдает следующую ошибку:
rake aborted!
expected a time or date, got Sun Feb 20 11:06:58 -0600 2011
Кажется, что это былоранее сообщалось о проблеме на Github кем-то еще, но решения не существует, и заявке уже несколько месяцев:
https://github.com/collectiveidea/delayed_job_data_mapper/issues#issue/1
[ОБНОВЛЕНИЕ] Кто-то опубликовал ответ на проблему Github,который я продублировал в своем ответе ниже этого вопроса.
Итак, мой вопрос таков: кто-нибудь решил эту ошибку?Или есть другой способ выполнить DataMapper + Delayed Job, о котором я не знаю?
Полная трассировка рейка:
expected a time or date, got Sun Feb 20 11:08:56 -0600 2011
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/duration.rb:94:in `sum'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:33:in `inject'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/duration.rb:86:in `each'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/duration.rb:86:in `inject'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/duration.rb:86:in `sum'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/duration.rb:69:in `until'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/core_ext/time/calculations.rb:255:in `minus_without_coercion'
/Library/Ruby/Gems/1.8/gems/activesupport-3.0.3/lib/active_support/core_ext/time/calculations.rb:268:in `-'
/Library/Ruby/Gems/1.8/gems/delayed_job_data_mapper-1.0.0.rc/lib/delayed/backend/data_mapper.rb:35:in `find_available'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:172:in `reserve_and_run_one_job'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:101:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:100:in `times'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:100:in `work_off'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:75:in `start'
/System/Library/Frameworks/Ruby.framework/Versions/1.8/usr/lib/ruby/1.8/benchmark.rb:308:in `realtime'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:74:in `start'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:71:in `loop'
/Library/Ruby/Gems/1.8/gems/delayed_job-2.1.0.pre2/lib/delayed/worker.rb:71:in `start'
Спасибо!