module ActiveJob::Core

Attributes

arguments[RW]

Job arguments

job_id[RW]

Job Identifier

queue_name[W]

Queue on which the job should be run on.

scheduled_at[RW]

Timestamp when the job should be performed

serialized_arguments[W]

Public Class Methods

new(*arguments) click to toggle source

Creates a new job instance. Takes as arguments the arguments that will be passed to the perform method.

# File lib/active_job/core.rb, line 53
def initialize(*arguments)
  @arguments  = arguments
  @job_id     = SecureRandom.uuid
  @queue_name = self.class.queue_name
end

Public Instance Methods

serialize() click to toggle source

Returns a hash with the job data that can safely be passed to the queueing adapter.

# File lib/active_job/core.rb, line 61
def serialize
  {
    'job_class'  => self.class.name,
    'job_id'     => job_id,
    'queue_name' => queue_name,
    'arguments'  => serialize_arguments(arguments)
  }
end

Private Instance Methods

deserialize_arguments(serialized_args) click to toggle source
# File lib/active_job/core.rb, line 82
def deserialize_arguments(serialized_args)
  Arguments.deserialize(serialized_args)
end
deserialize_arguments_if_needed() click to toggle source
# File lib/active_job/core.rb, line 71
def deserialize_arguments_if_needed
  if defined?(@serialized_arguments) && @serialized_arguments.present?
    @arguments = deserialize_arguments(@serialized_arguments)
    @serialized_arguments = nil
  end
end
serialize_arguments(serialized_args) click to toggle source
# File lib/active_job/core.rb, line 78
def serialize_arguments(serialized_args)
  Arguments.serialize(serialized_args)
end