Longer timeout for updates and large files before other peers started working on it

This commit is contained in:
shortcutme 2018-01-27 12:24:50 +01:00
parent d44677e46f
commit 2f74f64d65
No known key found for this signature in database
GPG key ID: 5B63BAE6CB9613AE

View file

@ -38,13 +38,26 @@ class Worker(object):
task["time_started"] = time.time() # Task started now
if task["workers_num"] > 0: # Wait a bit if someone already working on it
if task["peers"]: # It's an update
timeout = 3
else:
timeout = 1
if task["size"] > 100 * 1024 * 1024:
timeout = timeout * 2
if config.verbose:
self.manager.log.debug("%s: Someone already working on %s (pri: %s), sleeping 1 sec..." % (self.key, task["inner_path"], task["priority"]))
for sleep_i in range(1,10):
self.manager.log.debug("%s: Someone already working on %s (pri: %s), sleeping %s sec..." % (
self.key, task["inner_path"], task["priority"], timeout
))
for sleep_i in range(1, timeout * 10):
time.sleep(0.1)
if task["done"] or task["workers_num"] == 0:
if config.verbose:
self.manager.log.debug("%s: %s, picked task free after %ss sleep. (done: %s)" % (self.key, task["inner_path"], 0.1 * sleep_i, task["done"]))
self.manager.log.debug("%s: %s, picked task free after %ss sleep. (done: %s)" % (
self.key, task["inner_path"], 0.1 * sleep_i, task["done"]
))
break
if task["done"]: