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.



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

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

Instance Method Details

#callObject



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

def call
  @blk.value
rescue => ex
  failures = ex.backtrace.map {|x| x.split("/").last }.join(",")
  SknFailure.(ex.class.name, { cause: ex.message, backtrace: failures})
end