Создать пул
Использовать l oop внутри пула для партии
Использовать result = pool .map_asyn c () с вашим целевым методом
4. Выполните result.get (timeout) или result.wait ()
Если вы получили тайм-аут или после того, как ваше условие выполнено, вернитесь и выйдите из while l oop и pool.close, завершите работу и затем присоединитесь.
def process_url(url):
# call url and process data
pass
def pool_handler():
with Pool() as p:
for i in range(0, len(my_list), batch_size):
current_batch_urls = my_list[i:i+batch_size]
# this will create processes and process url
r = p.map_async(process_url, current_batch_urls)
r. wait()#wait for each batch
#outside loop
p.close()
p.join()#wait until all processes are done
if __name__ == '__main__':
pool_handler()