diff options
author | Rob Austein <sra@hactrn.net> | 2015-11-28 22:19:00 +0000 |
---|---|---|
committer | Rob Austein <sra@hactrn.net> | 2015-11-28 22:19:00 +0000 |
commit | 2eebc88ed0692b1bb48ab11dde3ed45ed8298096 (patch) | |
tree | 7f935d04999158736febafaa4f95aa6886b0a257 | |
parent | 8725da414d9a066c54d9e31669fe85adef7e4a9d (diff) |
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
-rwxr-xr-x | rp/rcynic/rcynicng | 10 |
1 files 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:]) |