From 2eebc88ed0692b1bb48ab11dde3ed45ed8298096 Mon Sep 17 00:00:00 2001 From: Rob Austein Date: Sat, 28 Nov 2015 22:19:00 +0000 Subject: yield when putting to task queue even though we expect the future to resolve immediately, just in case something throws an exception. Don't try to be clever about when to yield in main object checking loop: just trusting Tornado's scheduler to do the right thing seems to give better rsync throughput. svn path=/branches/tk705/; revision=6203 --- rp/rcynic/rcynicng | 10 ++-------- 1 file changed, 2 insertions(+), 8 deletions(-) diff --git a/rp/rcynic/rcynicng b/rp/rcynic/rcynicng index ec9a6c69..b98053e2 100755 --- a/rp/rcynic/rcynicng +++ b/rp/rcynic/rcynicng @@ -440,7 +440,7 @@ class WalkFrame(object): self.state = self.fetch else: self.state = self.fetch - task_queue.put(wsk.clone()) + yield task_queue.put(wsk.clone()) wsk.pop() @tornado.gen.coroutine @@ -556,15 +556,9 @@ class WalkFrame(object): #logger.debug("Processing %s %s", self.generation.name, self.mft.uri) - counter = 0 - counter_max_before_yield = 50 - for fn, digest in self.mft_iterator: - counter += 1 - if counter > counter_max_before_yield: - yield tornado.gen.moment - counter = 0 + yield tornado.gen.moment uri = self.diruri + fn cls = self.fns2.get(uri[-3:]) -- cgit v1.2.3