Skip to content

Instantly share code, notes, and snippets.

@dstuebe
Created June 10, 2011 07:40
Show Gist options
  • Save dstuebe/1018399 to your computer and use it in GitHub Desktop.
Save dstuebe/1018399 to your computer and use it in GitHub Desktop.
pit falls using deferred lists and lazy optimization
from twisted.internet import defer
class DoStuff():
def __init_(self):
self.my_stuff = None
@defer.inlineCallbacks
def do_it(self):
if self.my_stuff is None:
self.my_stuff = yield expensive_get_my_stuff_method()
defer.returnValue(do_more_stuff(self.my_stuff))
dostuff = DoStuff()
def_list = []
for i in range(1000):
def_list.append(dostuff.do_it())
defer.DeferredList(def_list)
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment