def perform(*args)
      raise Errors::TimeoutNotDefined unless self.class.timeout

      ::Timeout.timeout(self.class.timeout, Errors::TimeoutError) { super }
    end
def perform(*args)
      raise Errors::TimeoutNotDefined unless self.class.timeout

      ::Timeout.timeout(self.class.timeout, Errors::TimeoutError) { super }
    end
Executes a business logic with additional timeouts
 @param args Any arguments that we passed when scheduling a background job
 @raise [WorkerGlass::Errors::TimeoutNotDefined] if we didn't define timeout