Class: ActiveJob::Temporal::JobPayloadBuilder
- Inherits:
-
Object
- Object
- ActiveJob::Temporal::JobPayloadBuilder
- Includes:
- JobPayloadChainBuilder, JobPayloadChildWorkflows, JobPayloadDependencies, JobPayloadRateLimits, JobPayloadWorkflowInteractions
- Defined in:
- lib/activejob/temporal/job_payload_builder.rb
Overview
rubocop:disable Metrics/ClassLength
Constant Summary collapse
- TIMEOUT_CONFIG_ATTRIBUTES =
{ default_activity_timeout: :start_to_close_timeout, default_schedule_to_close_timeout: :schedule_to_close_timeout, default_schedule_to_start_timeout: :schedule_to_start_timeout, default_heartbeat_timeout: :heartbeat_timeout }.freeze
Instance Method Summary collapse
- #build(job, scheduled_at: nil, encryption_context: nil) ⇒ Object
-
#initialize(config) ⇒ JobPayloadBuilder
constructor
A new instance of JobPayloadBuilder.
Constructor Details
#initialize(config) ⇒ JobPayloadBuilder
Returns a new instance of JobPayloadBuilder.
29 30 31 |
# File 'lib/activejob/temporal/job_payload_builder.rb', line 29 def initialize(config) @config = config end |
Instance Method Details
#build(job, scheduled_at: nil, encryption_context: nil) ⇒ Object
33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 |
# File 'lib/activejob/temporal/job_payload_builder.rb', line 33 def build(job, scheduled_at: nil, encryption_context: nil) payload = base_payload_for(job, scheduled_at) payload[:default_activity_options] = Observability.inject_trace_context(payload, observability_attributes_for(job, encryption_context)) apply_retry_policy(payload, job) (payload, job.class) apply_workflow_identity(payload, job.class) apply_rate_limits(payload, job) apply_workflow_interactions(payload, job.class) apply_child_workflows(payload, job) apply_chain(payload, job) apply_dependencies(payload, job) apply_continue_as_new(payload) apply_local_activity_helpers(payload) payload = transport_payload(payload, job, scheduled_at, encryption_context) Payload.enforce_size!(payload, metrics_payload: metrics_payload_for(job), config: @config) payload end |