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