Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Der Python-Multiprocessing-Pool hängt beim Kartenaufruf

Sie müssen den gesamten Code, der Multiprocessing verwendet, in eine eigene Funktion einfügen. Dadurch wird verhindert, dass rekursiv neue Pools gestartet werden, wenn Multiprocessing Ihr Modul in separaten Prozessen erneut importiert:

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()

Sehen Sie in der Dokumentation nach, wie Sie sicherstellen, dass Ihr Modul dies ist importierbar , auch der Ratschlag für die Ausführung unter Windows(tm)