Always start findOptional if no worker running but there is tasks
This commit is contained in:
parent
09d19da3bc
commit
59d45f445a
1 changed files with 9 additions and 5 deletions
|
@ -389,11 +389,15 @@ class WorkerManager(object):
|
|||
del(self.workers[worker.key])
|
||||
self.log.debug("Removed worker, workers: %s/%s" % (len(self.workers), self.getMaxWorkers()))
|
||||
if len(self.workers) <= self.getMaxWorkers() / 3 and len(self.asked_peers) < 10:
|
||||
important_task = (task for task in self.tasks if task["priority"] > 0)
|
||||
if next(important_task, None) or len(self.asked_peers) == 0:
|
||||
optional_task = next((task for task in self.tasks if task["optional_hash_id"]), None)
|
||||
if optional_task:
|
||||
if len(self.workers) == 0:
|
||||
self.startFindOptional(find_more=True)
|
||||
else:
|
||||
self.startFindOptional()
|
||||
elif self.tasks and not self.workers and worker.task:
|
||||
self.log.debug("Starting new workers... (tasks: %s)" % len(self.tasks))
|
||||
self.startWorkers()
|
||||
|
||||
|
||||
# Tasks sorted by this
|
||||
|
|
Loading…
Reference in a new issue