Sha256: 9ed0d85e99c237ad4b233645f7ab134613761f86af2c57625f3db6182c3e8c9b
Contents?: true
Size: 608 Bytes
Versions: 6
Compression:
Stored size: 608 Bytes
Contents
require 'active_support/concern' module IntegrationPal module BaseJob extend ActiveSupport::Concern included do attr_accessor :job rescue_from(StandardError) do |exception| job.fail(exception) raise(exception) end def setup(active_job) @job = IntegrationPal::Job.find(active_job.arguments.first) @job.start @job end def teardown(job) job.complete end around_perform do |job, block| persisted_job = setup(job) block.call teardown(persisted_job) end end end end
Version data entries
6 entries across 6 versions & 1 rubygems