(self, worker)
| 419 | |
| 420 | # Ends and remove a worker |
| 421 | def removeWorker(self, worker): |
| 422 | worker.running = False |
| 423 | if worker.key in self.workers: |
| 424 | del(self.workers[worker.key]) |
| 425 | self.log.debug("Removed worker, workers: %s/%s" % (len(self.workers), self.getMaxWorkers())) |
| 426 | if len(self.workers) <= self.getMaxWorkers() / 3 and len(self.asked_peers) < 10: |
| 427 | optional_task = next((task for task in self.tasks if task["optional_hash_id"]), None) |
| 428 | if optional_task: |
| 429 | if len(self.workers) == 0: |
| 430 | self.startFindOptional(find_more=True) |
| 431 | else: |
| 432 | self.startFindOptional() |
| 433 | elif self.tasks and not self.workers and worker.task and len(worker.task["failed"]) < 20: |
| 434 | self.log.debug("Starting new workers... (tasks: %s)" % len(self.tasks)) |
| 435 | self.startWorkers(reason="Removed worker") |
| 436 | |
| 437 | # Tasks sorted by this |
| 438 | def getPriorityBoost(self, inner_path): |
no test coverage detected