Module: ActiveJob::Execution
Relationships & Source Files | |
Namespace Children | |
Modules:
| |
Extension / Inclusion / Inheritance Descendants | |
Included In:
ActionMailer::DeliveryJob,
ActionMailer::MailDeliveryJob,
ActionMailer::Parameterized::DeliveryJob,
Base ,
::ActiveRecord::DestroyAssociationAsyncJob
| |
Super Chains via Extension / Inclusion / Inheritance | |
Class Chain:
self,
::ActiveSupport::Concern
|
|
Instance Chain:
|
|
Defined in: | activejob/lib/active_job/execution.rb |
::ActiveSupport::Rescuable
- Attributes & Methods
Class Method Summary
::ActiveSupport::Concern
- Extended
class_methods | Define class methods from given block. |
included | Evaluate given block in context of base class, so that you can write class macros here. |
prepended | Evaluate given block in context of base class, so that you can write class macros here. |
Instance Method Summary
- #perform
-
#perform_now
Performs the job immediately.
::ActiveSupport::Rescuable
- Included
#rescue_with_handler | Delegates to the class method, but uses the instance as the subject for rescue_from handlers (method calls, instance_exec blocks). |
Class Attribute Details
.rescue_handlers (rw)
[ GitHub ]# File 'activesupport/lib/active_support/rescuable.rb', line 13
class_attribute :rescue_handlers, default: []
.rescue_handlers? ⇒ Boolean
(rw)
[ GitHub ]
# File 'activesupport/lib/active_support/rescuable.rb', line 13
class_attribute :rescue_handlers, default: []
Instance Attribute Details
#rescue_handlers (rw)
[ GitHub ]# File 'activesupport/lib/active_support/rescuable.rb', line 13
class_attribute :rescue_handlers, default: []
#rescue_handlers? ⇒ Boolean
(rw)
[ GitHub ]
# File 'activesupport/lib/active_support/rescuable.rb', line 13
class_attribute :rescue_handlers, default: []
Instance Method Details
#perform
[ GitHub ]# File 'activejob/lib/active_job/execution.rb', line 54
def perform(*) fail NotImplementedError end
#perform_now
Performs the job immediately. The job is not sent to the queuing adapter but directly executed by blocking the execution of others until it’s finished. perform_now
returns the value of your job’s #perform method.
class MyJob < ActiveJob::Base
def perform
"Hello World!"
end
end
puts MyJob.new(*args).perform_now # => "Hello World!"
# File 'activejob/lib/active_job/execution.rb', line 41
def perform_now # Guard against jobs that were persisted before we started counting executions by zeroing out nil counters self.executions = (executions || 0) + 1 deserialize_arguments_if_needed run_callbacks :perform do perform(*arguments) end rescue => exception rescue_with_handler(exception) || raise end