lib/good_job/adapter.rb in good_job-1.1.0 vs lib/good_job/adapter.rb in good_job-1.1.1
- old
+ new
@@ -1,31 +1,27 @@
module GoodJob
class Adapter
EXECUTION_MODES = [:async, :external, :inline].freeze
def initialize(execution_mode: nil, max_threads: nil, poll_interval: nil, scheduler: nil, inline: false)
- if inline
+ if inline && execution_mode.nil?
ActiveSupport::Deprecation.warn('GoodJob::Adapter#new(inline: true) is deprecated; use GoodJob::Adapter.new(execution_mode: :inline) instead')
- @execution_mode = :inline
- elsif execution_mode
- raise ArgumentError, "execution_mode: must be one of #{EXECUTION_MODES.join(', ')}." unless EXECUTION_MODES.include?(execution_mode)
-
- @execution_mode = execution_mode
- else
- @execution_mode = :external
+ execution_mode = :inline
end
- @scheduler = scheduler
- if @execution_mode == :async && @scheduler.blank? # rubocop:disable Style/GuardClause
- timer_options = {}
- timer_options[:execution_interval] = poll_interval if poll_interval.present?
+ configuration = GoodJob::Configuration.new({
+ execution_mode: execution_mode,
+ max_threads: max_threads,
+ poll_interval: poll_interval,
+ },
+ env: ENV)
- pool_options = {}
- pool_options[:max_threads] = max_threads if max_threads.present?
+ raise ArgumentError, "execution_mode: must be one of #{EXECUTION_MODES.join(', ')}." unless EXECUTION_MODES.include?(configuration.execution_mode)
- job_performer = GoodJob::Performer.new(GoodJob::Job, :perform_with_advisory_lock, name: '*')
- @scheduler = GoodJob::Scheduler.new(job_performer, timer_options: timer_options, pool_options: pool_options)
- end
+ @execution_mode = configuration.execution_mode
+
+ @scheduler = scheduler
+ @scheduler = GoodJob::Scheduler.from_configuration(configuration) if @execution_mode == :async && @scheduler.blank?
end
def enqueue(active_job)
enqueue_at(active_job, nil)
end