class GoodJob::Adapter
def enqueue(active_job)
def enqueue(active_job) enqueue_at(active_job, nil) end
def enqueue_at(active_job, timestamp)
def enqueue_at(active_job, timestamp) good_job = GoodJob::Job.enqueue( active_job, scheduled_at: timestamp ? Time.zone.at(timestamp) : nil, create_with_advisory_lock: execute_inline? ) if execute_inline? begin good_job.perform ensure good_job.advisory_unlock end end good_job end
def execute_externally?
def execute_externally? @execution_mode == :external end
def execute_inline?
def execute_inline? @execution_mode == :inline end
def initialize(execution_mode: nil, inline: false)
def initialize(execution_mode: nil, inline: false) if inline 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 end end
def inline?
def inline? ActiveSupport::Deprecation.warn('GoodJob::Adapter::inline? is deprecated; use GoodJob::Adapter::execute_inline? instead') execute_inline? end
def shutdown(wait: true) # rubocop:disable Lint/UnusedMethodArgument
def shutdown(wait: true) # rubocop:disable Lint/UnusedMethodArgument nil end