skip to navigation
skip to content

Not Logged In

txdlo 0.1.2

A Twisted class for observing a set of deferreds.

Latest Version: 0.1.8

txdlo is a Python package that provides a class called DeferredListObserver.

As you might guess, DeferredListObserver lets you observe callback and errback events from a list of Twisted deferreds. You can add observers that will be passed information about deferreds firing. You can add deferreds to the observed list at any time, which is very useful if you're dynamically creating deferreds that you want to monitor.

The class can be used to easily build functions or classes that provide deferreds that fire when arbitrary combinations of events from the observed deferreds have occurred.

For example you can write functions or classes that support deferreds that

  • Implement Twisted's DeferredList or simple variants of it, or that let you separate the various behaviors of DeferredList into simpler functions.
  • Provide a deferred that fires when N of the observed deferreds have fired.
  • Provide a deferred that ignores errors until one of the observed deferred succeeds, only firing with an error if all the observed deferreds fail.
  • Or (a more involved example), suppose you have 3 methods that can return you a user's avatar: a fast local cache, a filesystem, and a slow network call to Gravatar. You want to write a deferred-returning function that launches all three lookups at once and fires its deferred with the first answer. But if the cache and/or filesystems fails first, you don't want to trigger an error, you instead want to take the result from Gravatar and add it to the cache and/or filesystem, as well firing the returned deferred with the result (wherever it comes from). Only if all three lookups fail do you want to errback the deferred you returned.

The source for txdlo lives at https://github.com/terrycojones/txdlo.

 
File Type Py Version Uploaded on Size
txdlo-0.1.2-py2.py3-none-any.whl (md5) Python Wheel 2.7 2013-12-31 5KB
txdlo-0.1.2.tar.gz (md5) Source 2013-12-31 5KB
  • Downloads (All Versions):
  • 21 downloads in the last day
  • 184 downloads in the last week
  • 767 downloads in the last month