aboutsummaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorRob Austein <sra@hactrn.net>2015-11-28 22:19:00 +0000
committerRob Austein <sra@hactrn.net>2015-11-28 22:19:00 +0000
commit2eebc88ed0692b1bb48ab11dde3ed45ed8298096 (patch)
tree7f935d04999158736febafaa4f95aa6886b0a257
parent8725da414d9a066c54d9e31669fe85adef7e4a9d (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-xrp/rcynic/rcynicng10
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:])