Ход записи для чтения рабочих потоков из очереди - PullRequest
0 голосов
/ 07 ноября 2018

У меня есть куча потоков Python, читающих из очереди, а-ля https://gist.github.com/bsphere/f1e0a7d033dab2871c5c. Я хочу отображать прогресс каждые 10 секунд. Это лучшее, что я нашел до сих пор, есть ли что-нибудь менее многословное и более питоническое?

Редактировать : Извините, я не совсем понял - меня не интересует хороший пользовательский интерфейс, мне просто интересно, как правильно взаимодействовать с потоками без ошибок параллелизма, чтобы записать прогресс из основного потока в ожидании завершения рабочих ..

threads = []
for i in xrange(NUMBER_OF_WORKERS):
    t = MyThread()
    threads.append(t)
    t.start()
live_threads = True
while live_threads:
    live_threads = False
    for t in threads:
        t.join(10)
        if t.isAlive():
            live_threads = True
            break
    logger.info("queue size: %s", q.qsize())
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...