def errback(fail): self.log( "_setup_with_client failed with the error: %r. " "Hopefully we will get this right after the next " "reconnection.", error.get_failure_message(fail), )
def print_trace(_param, _template="", *args): postfix = repr(_param) if isinstance(_param, failure.Failure): postfix = "%r %s" % (_param, error.get_failure_message(_param)) prefix = _template % args prefix = prefix + ": " if prefix else prefix print "%s%s" % (prefix, postfix) return _param
def trace(_param, _template="", *args): postfix = repr(_param) if isinstance(_param, failure.Failure): postfix = "%r %s" % (_param, error.get_failure_message(_param)) prefix = _template % args prefix = prefix + ": " if prefix else prefix message = "%s%s" % (prefix, postfix) log.logex("fiber", LogLevel.debug, message, log_name="trace") return _param
def _bootstrap_failure(fail, agency, queue=None): error.handle_failure(agency, fail, 'Agency bootstrap failed, exiting.') reason = error.get_failure_message(fail) if queue: queue.put((1, reason)) global _exit_code _exit_code = 1 agency.kill(stop_process=True)
def _spawn_agent_failed(self, state, fail, desc, alert_name=None): error.handle_failure(self, fail, "Spawning agent failed! " "I will remove the descriptor.") if alert_name: self.info("raising alert %s", alert_name) self.raise_alert(alert_name, error.get_failure_message(fail)) f = self.get_document(desc.doc_id) f.add_callback(self.delete_document) f.add_both(fiber.override_result, None) return f
def _spawn_agent_failed(self, state, fail, desc, alert_name=None): error.handle_failure(self, fail, "Spawning agent failed! " "Agent type: %s, agent id: %s. " "I will remove the descriptor.", desc.type_name, desc.doc_id) if alert_name: self.info('Raising alert %s', alert_name) self.raise_alert(alert_name, error.get_failure_message(fail), severity=alert.Severity.critical) f = self.update_document(desc, update.delete) f.add_callback(fiber.override_result, None) f.add_errback(self._delete_descriptor_failed) return f
def _solve_err(self, state, fail): if fail.check(conflicts.UnsolvableConflict): doc = fail.value.doc if IDocument.providedBy(doc): doc_id = doc.doc_id else: doc_id = doc['_id'] state.unsolvable_conflicts.add(doc_id) self.warning('Cannot solve conflict for document id: %s. ' 'Reason: %s', doc_id, fail.value) self.raise_alert(ALERT_NAME, ', '.join(state.unsolvable_conflicts)) else: error.handle_failure(self, fail, 'Failed solving conflict.') msg = error.get_failure_message(fail) self.raise_alert(ALERT_NAME, msg, severity=alert.Severity.critical)
def from_failure(cls, failure): ex = failure.value if isinstance(ex, http.HTTPError): code = ex.status_code elif isinstance(ex, error.FeatError): code = ex.eror_code else: code = None if isinstance(ex, error.FeatError): message = ex.error_name else: message = failure.getErrorMessage() if not message: message = type(ex).__name__ debug = error.get_failure_message(failure) trace = error.get_failure_traceback(failure) return cls(code=code, message=message, debug=debug, trace=trace)
def _create_expired_error(self, msg): def get_type_name(obj): return obj.type_name if obj is not None else "unknown" cause = None if isinstance(msg, failure.Failure): cause = msg msg = error.get_failure_message(msg) elif msg is not None: msg = str(msg) factory = self.factory pname = factory.type_name if factory is not None else "unknown" agent = self.agent.get_agent() if self.agent is not None else None aname = agent.descriptor_type if agent is not None else "unknown" error_msg = "%s's %s protocol expired" % (aname, pname) if msg is not None: error_msg += ": %s" % (msg, ) return ProtocolExpired(error_msg, cause=cause)
def _connect_error_handler(self, fail): self._reader = None error.handle_failure(self, fail, "Failed connecting.") msg = error.get_failure_message(fail) self.controller.display_error(msg)