Always try to find new peers for optional files if no workers
This commit is contained in:
parent
16f7a6d3cb
commit
cfb2276ecd
1 changed files with 15 additions and 11 deletions
|
@ -77,6 +77,7 @@ class WorkerManager(object):
|
||||||
)
|
)
|
||||||
task["site"].announce(mode="more") # Find more peers
|
task["site"].announce(mode="more") # Find more peers
|
||||||
if task["optional_hash_id"]:
|
if task["optional_hash_id"]:
|
||||||
|
if self.workers:
|
||||||
if not task["time_started"]:
|
if not task["time_started"]:
|
||||||
ask_limit = 20
|
ask_limit = 20
|
||||||
elif task["priority"] > 0:
|
elif task["priority"] > 0:
|
||||||
|
@ -87,8 +88,11 @@ class WorkerManager(object):
|
||||||
# Re-search for high priority
|
# Re-search for high priority
|
||||||
self.startFindOptional(find_more=True)
|
self.startFindOptional(find_more=True)
|
||||||
elif task["peers"]:
|
elif task["peers"]:
|
||||||
if not self.workers:
|
peers_try = [peer for peer in task["peers"] if peer not in task["failed"]]
|
||||||
self.startWorkers([peer for peer in task["peers"] if peer not in task["failed"]])
|
if peers_try:
|
||||||
|
self.startWorkers(peers_try)
|
||||||
|
else:
|
||||||
|
self.startFindOptional(find_more=True)
|
||||||
else:
|
else:
|
||||||
if task["peers"]: # Release the peer lock
|
if task["peers"]: # Release the peer lock
|
||||||
self.log.debug("Task peer lock release: %s" % task["inner_path"])
|
self.log.debug("Task peer lock release: %s" % task["inner_path"])
|
||||||
|
|
Loading…
Reference in a new issue