Skip to main content

A Twisted class for observing a set of deferreds.

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

txdlo-0.1.8.tar.gz (5.6 kB view details)

Uploaded Source

Built Distribution

txdlo-0.1.8-py2.py3-none-any.whl (5.3 kB view details)

Uploaded Python 2 Python 3

File details

Details for the file txdlo-0.1.8.tar.gz.

File metadata

  • Download URL: txdlo-0.1.8.tar.gz
  • Upload date:
  • Size: 5.6 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No

File hashes

Hashes for txdlo-0.1.8.tar.gz
Algorithm Hash digest
SHA256 0b09f1bfbea2cac268f9e5f55d0714286e41ec7719b94210665f8e5878f23b4e
MD5 acbe148143c73fa7b778b3a30e1d4c0c
BLAKE2b-256 fbd4d0bc9e1780c7a4df00e5ca0ce1df56fd2dfa9386153b40ecbccbaa3903dc

See more details on using hashes here.

File details

Details for the file txdlo-0.1.8-py2.py3-none-any.whl.

File metadata

File hashes

Hashes for txdlo-0.1.8-py2.py3-none-any.whl
Algorithm Hash digest
SHA256 dd8a4a3ee3f8c894f8fb9b18871e595ed250ea68ea8734a1ff1c29d9da150739
MD5 63add3b4c36b490767d2faff2d06cb3f
BLAKE2b-256 4566daee1fbb4d770643a4dc8a077112d62a7c83703e89c4f6f6703e13074041

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page