On Oct 24, 2009, at 6:20 AM, Igor Katson wrote: > Is my idea about a "wrapper" practical and what's the general way to > write it? > On which event is it better to decrement the counter of the amount > currently downloading files?
Another way that you might do this is by using this small snippet: http://bitbucket.org/adroll/turtl/src/tip/turtl/engine.py turtl is a project that you can use either as a proxy server in front of all of your clients (and throttle the requests on a url basis) or embedded in your system like this: from turtl import engine thr = engine.ThrottlingDeferred(parallelism, calls, interval) dl = [thr.run(callable, *args, **kwargs) for args in self.args] defer.DeferredList(dl).addBoth(lambda _: reactor.stop ()) In this case you get a lot more control over the number of calls in a given interval that you are allowed to make (for example Amazon Alexa allows only 15 calls per second). -- Valentino Volonghi aka Dialtone Now Running MacOSX 10.6 http://www.adroll.com/ _______________________________________________ Twisted-web mailing list [email protected] http://twistedmatrix.com/cgi-bin/mailman/listinfo/twisted-web
