Направляющие Delayed Job & Library Class

Эй у нас есть класс библиотеки (lib/Mixpanel), который называет отложенное задание следующим образом:

class Mixpanel

  attr_accessor :options
  attr_accessor :event

  def track!()
   .. 
   dj = send_later :access_api # also tried with self.send_later
   ..
  end

  def access_api
   ..
  end

Проблема - это, когда мы выполняем грабли jobs:work: мы получаем следующую ошибку:

undefined method `access_api' for #<YAML::Object:0x24681b8>

Какая-либо идея, почему?

8
задан Harish Shetty 3 April 2010 в 01:14
поделиться

1 ответ

Delayed_job всегда автоматически загружает классы ActiveRecord, но он не знает о других типах классов (например, lib), которые он маршалировал в базе данных как YML. Итак, вам нужно явно запустить для них загрузчик классов. Поскольку DJ запускает среду Rails, просто укажите в инициализаторе любые маршалированные классы, не относящиеся к AR:

(config/initializers/load_classes_for_dj.rb)

Mixpanel
16
ответ дан 5 December 2019 в 09:24
поделиться
Другие вопросы по тегам:

Похожие вопросы: