def _do_fail_callback(
            self, reason, msg, reply_cb, inform_cb, user_data, timeout_handle):
        """Do callback for a failed request."""
        # this may also result in reply_cb being None if no
        # reply_cb was passed to the request method

        if reply_cb is None:
            # this happens if no reply_cb was passed in to the request
            return

        reason_msg = Message.reply(msg.name, "fail", reason, mid=msg.mid)

        try:
            if user_data is None:
                reply_cb(reason_msg)
            else:
                reply_cb(reason_msg, *user_data)
        except Exception:
            e_type, e_value, trace = sys.exc_info()
            exc_reason = "\n".join(traceback.format_exception(
                e_type, e_value, trace, self._tb_limit))
            self._logger.error("Callback reply during failure %s, %s FAIL: %s" %
                               (reason, msg.name, exc_reason))
def _do_fail_callback ( self , reason , msg , reply_cb , inform_cb , user_data , timeout_handle ) : if reply_cb is None : return reason_msg = Message . reply ( msg . name , "fail" , reason , mid = msg . mid ) try : if user_data is None : reply_cb ( reason_msg ) else : reply_cb ( reason_msg , * user_data ) except Exception : e_type , e_value , trace = sys . exc_info ( ) exc_reason = "\n" . join ( traceback . format_exception ( e_type , e_value , trace , self . _tb_limit ) ) self . _logger . error ( "Callback reply during failure %s, %s FAIL: %s" % ( reason , msg . name , exc_reason ) )
Do callback for a failed request.