2. Not an intro talk. Sorry!
• Assume you understand Deferreds
• Assume you understand async
3. Read defer.py
• Lots of people don’t
• Much of it is beautiful
• Deferreds seem cryptic
• They’re are actually very simple
4. Building blocks
Simple functions that help with deferreds
• succeed
• fail
• maybeDeferred
Classes that build on simple deferreds
• DeferredList
• DeferredQueue
• DeferredSemaphore
• DeferredLock
5. Deferreds let you replace
synchronous data structures
with elegant asynchronous
equivalents
6. Some of our classes
http://jon.es/other/europython-2010-deferreds.tar.bz2
• tee
• RetryingCall
• DeferredPooler
}
• ControllableDeferred
• DeferredPool rdq.py
• ResizableDispatchQueue
17. Resizable Dispatch Queue
Tickery adder RDQ
pending
WWW put put a b c d
underway
Twitter e
doWork f
FluidDB call g
admin pause, resume, stop, size,
widen, narrow, underway, cancel