class Semian::ProtectedResource
def acquire_bulkhead(timeout, scope, adapter)
def acquire_bulkhead(timeout, scope, adapter) if @bulkhead.nil? yield self, 0 else @bulkhead.acquire(timeout: timeout) do |wait_time| yield self, wait_time end end rescue ::Semian::TimeoutError Semian.notify(:busy, self, scope, adapter) raise end