Python ThreadPoolExecutor - количество недостающих фьючерсов для завершения - PullRequest
0 голосов
/ 06 августа 2020

Я использую TreadPoolExecutor для выполнения асинхронных задач. Я хотел знать, есть ли способ составить список фьючерсов, которые необходимо завершить, без необходимости вручную отслеживать их. Документация Python немного скудна по topi c.

1 Ответ

0 голосов
/ 07 августа 2020

Проходя через код параллельных фьючерсов, есть два элемента, которые могут быть полезны:

_threads_queues 1 содержит WeakKeyDictionary с информация обо всех очередях, полезная, если определены разные исполнители.

Что касается самого исполнителя, очередь хранится как _work_queue 2 . Итак, чтобы иметь представление о количестве задач, ожидающих запуска на конкретном c исполнителе, вы можете:

executor._work_queue.qsize()

Просто помните об ограничениях qsize.

...