Ответ 1
Запустите стандартную консоль рельсов.
ruby script/console
И запустите здесь рабочего, это увидит и выведет оператор отладчика.
worker = Delayed::Worker.new
worker.start
У меня есть фоновая задача, которая работает с использованием delayed_job.
Я вижу, что он запускается из операторов ведения журнала. Кажется, у него нет правильного результата, по сравнению с его запуском на переднем плане, поэтому я хочу отлаживать его на консоли IRB.
Я запускаю фоновое задание с помощью
rake jobs:work
и это не вызывает оператор отладчика.
Как загрузить отладчик?
Запустите стандартную консоль рельсов.
ruby script/console
И запустите здесь рабочего, это увидит и выведет оператор отладчика.
worker = Delayed::Worker.new
worker.start
Я использую pry как мою консоль и удаленный отладчик. Прикрепите здесь сайт, Здесь вы найдете жемчужину. В вашем коде вы добавляете инструкции binding.pry, чтобы ваше приложение перестало выполняться и открывать консоль. Он работает так же с delayed_job, как и с вашим рельсовым приложением. Убедитесь, что на переднем плане запущена функция delayed_job, поэтому она все еще привязана к терминалу. Например, запустите delayed_job с помощью:
rake jobs:work