txaio¶
Submodules¶
Classes¶
This defines the interface for a common object encapsulating a |
|
This defines the methods you can call on the object returned from |
Functions¶
Package Contents¶
- class IFailedFuture[source]¶
Bases:
abc.ABCThis defines the interface for a common object encapsulating a failure from either an asyncio task/coroutine or a Twisted Deferred.
An instance implementing this interface is given to any
errbackcallables you provide viatxaio.add_callbacks()In your errback you can extract information from an IFailedFuture with
txaio.failure_message()andtxaio.failure_traceback()or use.valueto get the Exception instance.Depending on other details or methods will probably cause incompatibilities between asyncio and Twisted.
- class ILogger[source]¶
Bases:
abc.ABCThis defines the methods you can call on the object returned from
txaio.make_logger()– although the actual object may have additional methods, you should only call the methods listed here.All the log methods have the same signature, they just differ in what “log level” they represent to the handlers/emitters. The
messageargument is a format string using PEP3101-style references to things from thekwargs. Note that there are also the following keys added to thekwargs:log_timeandlog_level.For example:
class MyThing(object): log = txaio.make_logger() def something_interesting(self, things=dict(one=1, two=2)): try: self.log.debug("Called with {things[one]}", things=things) result = self._method_call() self.log.info("Got '{result}'.", result=result) except Exception: fail = txaio.create_failure() self.log.critical(txaio.failure_format_traceback(fail))
The philsophy behind txaio’s interface is fairly similar to Twisted’s logging APIs after version 15. See Twisted’s documentation for details.