覚書: Rails: GoodJob アダプタの割り当ての補足

コード

前回の補足です。ここでアダプタの設定を行っています。

https://github.com/rails/rails/blob/v7.0.5/activejob/lib/active_job/railtie.rb

module ActiveJob
  # = Active Job Railtie
  class Railtie < Rails::Railtie # :nodoc:
...
    initializer "active_job.set_configs" do |app|
      options = app.config.active_job
...
        options.each do  |k, v|
          k = "#{k}="
          send(k, v) if respond_to? k
        end

VS Codeでのデバッグ実行

お試しアプリを作成する。
rails new -d postgresql foo

GoodJob の Set up を実施する。
1.Add good_job to your application's Gemfile and install the gem:
2.Run the GoodJob install generator...Run the migration
3.Configure the ActiveJob adapter

bundle add good_job
bin/rails g good_job:install
bin/rails db:migrate
# config/application.rb or config/environments/{RAILS_ENV}.rb
config.active_job.queue_adapter = :good_job

bin/rails g job Bar

class BarJob < ApplicationJob
  queue_as :default

  def perform(*args)
    # Do something later
    p "BarJob#perform"
  end
end

bin/rails runner BarJob.perform_now
上記を実行すると"BarJob#perform"が出力される。

https://gist.github.com/usutani/9e68002e790849e398c22493740e0edb
の script を下記に変更する。
"script": "bin/rails runner BarJob.perform_now",

{
  "version": "0.2.0",
  "configurations": [
    {
      "type": "rdbg",
      "name": "Debug rails",
      "request": "launch",
      "cwd": "${workspaceRoot}",
      "script": "bin/rails runner BarJob.perform_now",
      "args": [],
      "askParameters": false,
      "useBundler": true,
    }
  ]
}

下記のコマンドでActive Job Gem の情報を確認できる。
bundle info activejob
下記コマンドで(別ウィンドウに)ソースコード一式を表示できる。
BUNDLER_EDITOR=code bundle open activejob

対象ファイルのパスをコピーして、デバッグ実行したいウィンドウで、⌘+Pで開く。(ファイルを開くダイアログで、⌘+Shift+. を押して非表示ファイルを表示してから開くこともできます)

デバッグ実行する。(参考:VS Code: Action Mailer のデバッグ実行

以上です。


この記事が気に入ったらサポートをしてみませんか?