| 352 | self.log.debug("Ended downloadContent pool len: %s, skipped: %s" % (len(inner_paths), num_skipped)) |
| 353 | |
| 354 | def pooledDownloadFile(self, inner_paths, pool_size=100, only_if_bad=False): |
| 355 | self.log.debug("New downloadFile pool: len: %s, only if bad: %s" % (len(inner_paths), only_if_bad)) |
| 356 | self.worker_manager.started_task_num += len(inner_paths) |
| 357 | pool = gevent.pool.Pool(pool_size) |
| 358 | num_skipped = 0 |
| 359 | for inner_path in inner_paths: |
| 360 | if not only_if_bad or inner_path in self.bad_files: |
| 361 | pool.spawn(self.needFile, inner_path, update=True) |
| 362 | else: |
| 363 | num_skipped += 1 |
| 364 | self.worker_manager.started_task_num -= 1 |
| 365 | self.log.debug("Ended downloadFile pool len: %s, skipped: %s" % (len(inner_paths), num_skipped)) |
| 366 | |
| 367 | # Update worker, try to find client that supports listModifications command |
| 368 | def updater(self, peers_try, queried, since): |