Адаптер очереди ActiveJob игнорируется?
user_controller.rb
class UsersController
def create
MyJob.perform_later
User.create(...)
end
end
my_job.rb
class MyJob < ActiveJob::Base
queue_as :default
def perform()
puts "START"
sleep 3
puts "END"
end
end
конфиг / инициализатор /sucker_punch.rb
require 'sucker_punch/async_syntax'
Rails.application.configure do
config.active_job.queue_adapter = :sucker_punch
end
Когда я бегу MyJob.perform_later
в консоли рельсов все работает нормально и логгер отображает это сообщение Enqueued MyJob (Job ID: 6c857af8-a8ed-4bd0-918b-4296c4315727) to SuckerPunch(default)
Однако, когда я отправляю http-запрос своему user_controller, я не получаю никакого ответа в течение 3 секунд (что заставляет меня думать, что задание не выполняется асинхронно), и регистратор отображает это Enqueued MyJob (Job ID: e3d698eb-00d8-4849-9496-f01c53fc7217) to Inline(default)
Кажется, что используется встроенный (по умолчанию?) Адаптер в контроллерах, который не является асинхронным.
PS: я использую puma
как http-сервер, и использование sucker_punch без ActiveJob работает нормально