Module: ActiveJob::Temporal::TemporalOptions

Extended by:
ActiveSupport::Concern
Defined in:
lib/activejob/temporal/temporal_options.rb

Overview

Provides per-job timeout configuration via the temporal_options class method.

Examples:

Basic timeout override

class QuickJob < ApplicationJob
  temporal_options start_to_close_timeout: 30.seconds
end

Long-running job with heartbeat

class DataProcessingJob < ApplicationJob
  temporal_options(
    start_to_close_timeout: 2.hours,
    heartbeat_timeout: 30.seconds
  )
end

All timeout types configured

class CriticalJob < ApplicationJob
  temporal_options(
    start_to_close_timeout: 10.minutes,
    schedule_to_start_timeout: 1.minute,
    schedule_to_close_timeout: 15.minutes,
    heartbeat_timeout: 10.seconds
  )
end

Constant Summary collapse

VALID_TIMEOUT_KEYS =
%i[
  start_to_close_timeout
  schedule_to_close_timeout
  schedule_to_start_timeout
  heartbeat_timeout
].freeze