Module: SolidOps::JobExtension

Extended by:
ActiveSupport::Concern
Defined in:
lib/solid_ops/job_extension.rb

Constant Summary collapse

SERIALIZATION_KEY =
"solid_ops_meta"

Instance Method Summary collapse

Instance Method Details

#deserialize(job_data) ⇒ Object

Restore context from the serialized job payload (called before perform)



45
46
47
48
# File 'lib/solid_ops/job_extension.rb', line 45

def deserialize(job_data)
  super
  @solid_ops_meta = job_data[SERIALIZATION_KEY] if job_data.key?(SERIALIZATION_KEY)
end

#serializeObject

Inject current context into the serialized job payload (called during enqueue)



31
32
33
34
35
36
37
38
39
40
41
42
# File 'lib/solid_ops/job_extension.rb', line 31

def serialize
  SolidOps::Context.ensure_correlation_id!

  super.merge(
    SERIALIZATION_KEY => {
      "correlation_id" => SolidOps::Current.correlation_id,
      "request_id" => SolidOps::Current.request_id,
      "tenant_id" => SolidOps::Current.tenant_id,
      "actor_id" => SolidOps::Current.actor_id
    }
  )
end