2010-04-06 4 views
1

Я пытаюсь использовать delayed_job камень collectiveidea в Инструкции по установке включаютПомощь установка delayed_job

Rake tasks are not automatically loaded from gems, so you’ll need to add 
the following to your Rakefile: 

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

Где моя Rakefile? А что такое Rakefile?

ответ

1

Rakefile - это файл, который используется для настройки rake, инструмента для создания Ruby (вроде make, но все в Ruby). В проекте Rails есть файл в верхней директории проекта с именем Rakefile, где вы можете вставить этот код.

В качестве альтернативы вы можете добавить файл в каталог lib/tasks (например, named delayed_job.rake) и поместить туда код. Имя файла не имеет значения, пока

  1. Он находится в каталоге/Lib задач
  2. Он имеет расширение .rake
+0

Спасибо Rob, Это было прямо у меня под носом , – Mike

2

У меня есть та же самая проблема и поместить этот код в delayed_job.rake в каталоге lib/tasks. Он работает, но теперь он говорит:

*** Starting job worker localhost pid:79949 
rake aborted! 
uninitialized constant Delayed::Job 

Что случилось сейчас?

ОБНОВЛЕНИЕ: Я только что получил письмо ответа от Brandon:

Theres ошибка в последней версии, где он не получает правильно инициализирован при использовании задачи грабли. Если вы создаете файл в конфигурации/инициализаторах и поставить последующие в нем, ошибка должна уйти:

Delayed::Worker.backend = :active_record 
3

У меня была такая же проблема с рельсами 3.1 и collectiveidea-delayed_job.

После того, как я добавил Delayed::Worker.backend = :active_record в инициализаторе я получил ошибку
no such file to load -- delayed/backend/active_record (LoadError)

Решение для меня было добавить gem 'delayed_job_active_record' в Gemfile, как это было предложено here