diff --git a/README.md b/README.md index 06a0bf18..ca874a6b 100644 --- a/README.md +++ b/README.md @@ -2050,6 +2050,12 @@ Change search queue name Searchkick.queue_name = :search_reindex ``` +Change the parent job (default to `"ActiveJob::Base"`) + +```ruby +Searchkick.parent_job = "ApplicationJob" +``` + Eager load associations ```ruby diff --git a/lib/searchkick.rb b/lib/searchkick.rb index 5e9c1c09..9bff0bb4 100644 --- a/lib/searchkick.rb +++ b/lib/searchkick.rb @@ -57,7 +57,7 @@ class DangerousOperation < Error; end class ImportError < Error; end class << self - attr_accessor :search_method_name, :timeout, :models, :client_options, :redis, :index_prefix, :index_suffix, :queue_name, :model_options, :client_type + attr_accessor :search_method_name, :timeout, :models, :client_options, :redis, :index_prefix, :index_suffix, :queue_name, :model_options, :client_type, :parent_job attr_writer :client, :env, :search_timeout attr_reader :aws_credentials end @@ -67,6 +67,7 @@ class << self self.client_options = {} self.queue_name = :searchkick self.model_options = {} + self.parent_job = "ActiveJob::Base" def self.client @client ||= begin diff --git a/lib/searchkick/bulk_reindex_job.rb b/lib/searchkick/bulk_reindex_job.rb index 7d3cb460..799c79b8 100644 --- a/lib/searchkick/bulk_reindex_job.rb +++ b/lib/searchkick/bulk_reindex_job.rb @@ -1,5 +1,5 @@ module Searchkick - class BulkReindexJob < ActiveJob::Base + class BulkReindexJob < Searchkick.parent_job.constantize queue_as { Searchkick.queue_name } # TODO remove min_id and max_id in Searchkick 6 diff --git a/lib/searchkick/process_batch_job.rb b/lib/searchkick/process_batch_job.rb index 22d96b42..0b6967e0 100644 --- a/lib/searchkick/process_batch_job.rb +++ b/lib/searchkick/process_batch_job.rb @@ -1,5 +1,5 @@ module Searchkick - class ProcessBatchJob < ActiveJob::Base + class ProcessBatchJob < Searchkick.parent_job.constantize queue_as { Searchkick.queue_name } def perform(class_name:, record_ids:, index_name: nil) diff --git a/lib/searchkick/process_queue_job.rb b/lib/searchkick/process_queue_job.rb index 791f928a..fe565154 100644 --- a/lib/searchkick/process_queue_job.rb +++ b/lib/searchkick/process_queue_job.rb @@ -1,5 +1,5 @@ module Searchkick - class ProcessQueueJob < ActiveJob::Base + class ProcessQueueJob < Searchkick.parent_job.constantize queue_as { Searchkick.queue_name } def perform(class_name:, index_name: nil, inline: false) diff --git a/lib/searchkick/reindex_v2_job.rb b/lib/searchkick/reindex_v2_job.rb index 0946f879..6fa5bf83 100644 --- a/lib/searchkick/reindex_v2_job.rb +++ b/lib/searchkick/reindex_v2_job.rb @@ -1,5 +1,5 @@ module Searchkick - class ReindexV2Job < ActiveJob::Base + class ReindexV2Job < Searchkick.parent_job.constantize queue_as { Searchkick.queue_name } def perform(class_name, id, method_name = nil, routing: nil, index_name: nil)