Mysql
 sql >> Database >  >> RDS >> Mysql

Il pool di multiprocessing Python si blocca durante la chiamata della mappa

È necessario inserire tutto il codice che utilizza il multiprocessing, all'interno della propria funzione. Ciò impedisce l'avvio ricorsivo di nuovi pool quando il multiprocessing reimporta il modulo in processi separati:

def parse_file(filename):
    ...

def main():
    pool = mp.Pool(processes=8)
    pool.map(parse_file, ['my_dir/' + filename for filename in os.listdir("my_dir")])

if __name__ == '__main__:
    main()

Consulta la documentazione su assicurandoti che il tuo modulo sia importabile , anche i consigli per l'esecuzione su Windows(tm)