Class: LambdaPunch::Queue

Inherits:
Object
  • Object
show all
Defined in:
lib/lambda_punch/queue.rb

Class Method Summary collapse

Instance Method Summary collapse

Class Method Details

.jobsObject



10
11
12
# File 'lib/lambda_punch/queue.rb', line 10

def jobs
  @jobs ||= Concurrent::Array.new
end

.push(block) ⇒ Object



6
7
8
# File 'lib/lambda_punch/queue.rb', line 6

def push(block)
  jobs << block
end

Instance Method Details

#callObject



16
17
18
19
20
21
22
23
24
25
26
27
# File 'lib/lambda_punch/queue.rb', line 16

def call
  jobs.each do |job| 
    begin
      job.call
    rescue => e
      LambdaPunch.error_handler.call(e)
    end
  end
  true
ensure
  jobs.clear
end