DelayedJob ion Rails 3: исключение NameError -> неинициализированная константа Delayed :: Job - PullRequest
2 голосов
/ 09 января 2012

Я создаю приложение Rails 3, которое использует delayed_job для планирования асинхронных задач в фоновом режиме.

Он отлично работает, когда я использую метод .delay или .handle_asynchronously, чтобы поставить работу в очередь, но когда я использую пользовательское задание, он не работает.

Вот что у меня есть:

В моей папке lib у меня есть класс Ruby с методом execute в файле с именем my_job.rb, который содержит:

class MyJob < Struct.new(:text)
  def perform
    puts text
  end
end

и в моем контроллере у меня есть это:

Delayed::Job.enqueue MyJob.new('test')

Когда я вызываю контроллер, я получаю следующую ошибку:

Exception NameError -> uninitialized constant Delayed::Job

Есть идеи, как решить эту проблему?

1 Ответ

0 голосов
/ 02 июня 2012

Убедитесь, что вы правильно установили delayed_job;https://github.com/collectiveidea/delayed_job#installation (обратите внимание, что камень теперь называется gem 'delayed_job_active_record', если вы используете ActiveRecord в качестве бэкэнда)

Здесь приведены инструкции по обновлению с delayed_job 2.x до 3.0: https://github.com/collectiveidea/delayed_job#upgrading-from-2x-to-300-on-active-record

...