def errback(failure: Failure, pdu: EventBase): failure.trap(SynapseError) with PreserveLoggingContext(ctx): logger.warning( "Signature check failed for %s: %s", pdu.event_id, failure.getErrorMessage(), ) return failure
def _handshakeFailure(self, failure): """ Pass on the failure to L{abortHandshake}. """ if failure.check(ResponseFailed): # The parser failed to parse the response, let's wrap it in # a HandshakeProtocolError failure = Failure(HandshakeProtocolError(failure.value)) # Bail out in case of unexpected errors failure.trap(HandshakeError) self.abortHandshake(failure)
def _unrecoverable_state_errback(self, failure: Failure): failure.trap(UnrecoverableState) import datetime # called after the state raises an UnrecoverableState # log the error and shutdown self._logger.error('Simulation has reach an unrecoverable state. ' 'Aborting.') err_log_path = \ Path(f'./errlog_{datetime.datetime.now():%Y%m%d_%H%M%S.%f}.json') with err_log_path.open('w') as fp: print(failure.getErrorMessage(), file=fp) self._logger.error('Details of variables which failed sanity checks ' f'have been output to {err_log_path.resolve()}') self._reactor.stop()
def unwrapFirstError(failure: Failure) -> Failure: # defer.gatherResults and DeferredLists wrap failures. failure.trap(defer.FirstError) return failure.value.subFailure # type: ignore[union-attr] # Issue in Twisted's annotations
def disconnected(f: Failure) -> None: f.trap(ConnectionDone) self._log.debug("Event source disconnected: {id}", id=id(request)) self.storeObserver.removeListener(request)
def unwrapFirstError(failure: Failure) -> Failure: # Deprecated: you probably just want to catch defer.FirstError and reraise # the subFailure's value, which will do a better job of preserving stacktraces. # (actually, you probably want to use yieldable_gather_results anyway) failure.trap(defer.FirstError) return failure.value.subFailure # type: ignore[union-attr] # Issue in Twisted's annotations
def no_samples_to_send(failure: Failure): failure.trap(NoSensorUpdate) # no sensor data to send, ignore return
def busy_errback(fail: Failure) -> None: fail.trap(BusyControllerException) self._log.warn('Controller is busy, discarding received samples.')