class SknUtils::AsyncWorker

Public Class Methods

new(&blk) click to toggle source
# File lib/skn_utils/concurrent_jobs.rb, line 25
def initialize(&blk)
  @blk = Concurrent::Promise.execute(&blk)
end

Public Instance Methods

call() click to toggle source
# 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