Ruby on rails 是否忽略了ActiveJob队列适配器?

Ruby on rails 是否忽略了ActiveJob队列适配器?,ruby-on-rails,ruby,backgroundworker,rails-activejob,sucker-punch,Ruby On Rails,Ruby,Backgroundworker,Rails Activejob,Sucker Punch,user\u controller.rb class UsersController def create MyJob.perform_later User.create(...) end end class MyJob < ActiveJob::Base queue_as :default def perform() puts "START" sleep 3 puts "END" end end require 'suck

user\u controller.rb

class UsersController
  def create
    MyJob.perform_later
    User.create(...)
  end
end
class MyJob < ActiveJob::Base
  queue_as :default

  def perform()
    puts "START"
    sleep 3
    puts "END"
  end
end
require 'sucker_punch/async_syntax'
Rails.application.configure do
  config.active_job.queue_adapter = :sucker_punch
end
我的工作。rb

class UsersController
  def create
    MyJob.perform_later
    User.create(...)
  end
end
class MyJob < ActiveJob::Base
  queue_as :default

  def perform()
    puts "START"
    sleep 3
    puts "END"
  end
end
require 'sucker_punch/async_syntax'
Rails.application.configure do
  config.active_job.queue_adapter = :sucker_punch
end
当我在rails控制台中运行
MyJob.perform\u(稍后执行)
时,一切正常,记录器显示以下消息
将MyJob(作业ID:6c857af8-a8ed-4bd0-918b-4296c4315727)排入吸盘(默认)

但是,当我向我的用户\u控制器发送http请求时,我在3秒钟之前没有收到任何响应(这使我认为作业不是异步执行的),并且记录器显示此
将我的作业(作业ID:e3d698eb-00d8-4849-9496-f01c53fc7217)排队到内联(默认)

它似乎在控制器中使用内联(默认?)适配器,这不是异步的


ps:我正在使用
puma
作为http服务器,在没有ActiveJob的情况下使用sucker\u punch可以正常工作

您检查了development.rb文件了吗?如果有一个配置选项说
config.active\u job.queue\u adapter=:inline
,它可能会覆盖您在初始值设定项中放入的任何内容。这一行不存在这是另一个愚蠢的猜测,但是您是否重新启动了rails服务器以便可以加载初始值设定项?是的,我做了多次。但是,将
config.active\u job.queue\u adapter=:sucker\u punch
放入application.rb中可以使其工作。这一定是答案,如果有人有想法,请不要犹豫。