Class: SknUtils::AsyncWorker

Inherits:
Object
  • Object
show all
Defined in:
lib/skn_utils/concurrent_jobs.rb

Instance Method Summary collapse

Constructor Details

#initialize(&blk) ⇒ AsyncWorker

Returns a new instance of AsyncWorker.



24
25
26
# File 'lib/skn_utils/concurrent_jobs.rb', line 24

def initialize(&blk)
  @blk = Concurrent::Promise.execute(&blk)
end

Instance Method Details

#callObject



28
29
30
31
32
# File 'lib/skn_utils/concurrent_jobs.rb', line 28

def call
  @blk.value
rescue => ex
  SknFailure.(ex.class.name, { cause: ex.message, backtrace: ex.backtrace[0..8]})
end