Я использую плагин delayed_job в Rails для фоновой обработки, и я испытываю сбой в «гибкой разработке», которую я до сих пор испытывал в Rails ...
Обычно в рельсах, если я сталкиваюсь с ошибкой / хочу добавить некоторые новые функции - я просто добавляю некоторый код и обновляю страницу, и новый код запускается.
При использовании delayed_job создается впечатление, что класс задания не перезагружается ... если задание не выполняется, и я иду и исправляю ошибку и снова запускаю задание, старый код запускается снова.
Есть ли способ заставить delayed_job загрузить самую последнюю версию класса задания перед его вызовом?
На всякий случай, это как-то связано с этим - я знаю, что у delayed_job есть несколько различных вариантов способов объявления заданий / выполнения заданий:
Мой класс заданий находится в каталоге lib Rails и объявлен как:
class FooJob < Struct.new(:foo_id)
и я вызываю задание следующим образом из контроллера:
Delayed::Job.enqueue(FooJob.new(params[:id]))