Комментарии 17
Для того, чтобы повысить производительность воспользуемся модулем threading: с его помощью запустим потоки, выгружающие произведения по одному автору в одном процессе.
Так в потоке или в процессе?
На текущий момент более актуален AsyncIO.
И, для некоторых приложений, библиотека reactive
Соглашусь, asyncio действительно актуален, threading рассматривается как один из подходов, позволяющий снизить время выполнения программ, решающих задачи, связанные с вводом-выводом
А если у вас 100-500-1000 заданий, то создаваться столько же потоков?
Тогда уж multiprocessing с Pool использовать, и wrapper для очередей из того же модуля.
Количество потоков не обязательно равно количеству задач
У вас в коде оно равно. Если будет больше авторов, то будет будет больше потоков. Почему бы сразу это не учитывать и учить делать правильно? Плюс ещё скорее всего ядро процессора будет загружено на 100% из за того что в главном потоке у вас while шпарит на всю катушку. Хотя бы какой то sleep поставьте чтобы ядро не загружалось бесполезной работой.
Threading. Зачем?