Ich bin Django auf einem Ubuntu-Server mit Nginx und Gunicorn laufen. Ich versuche einige Multiprocessing zu machen, die auf meiner lokalen Maschine funktioniert, aber hängt, bis der Gunicorn-Arbeiter auf meinem Server abläuft.Python Multiprocessing-Pool hängt auf Ubuntu-Server
cpu_count = int(multiprocessing.cpu_count())
pool = Pool(processes = cpu_count)
result = pool.map_async(apiSimulAvail, rate_ranges)
result.wait()
...do some more stuff once all processes return
Es hängt an pool = Pool(processes = cpu_count)
. Ich bekomme keine Fehler, der Gunicorn-Mitarbeiter kommt gerade raus und bootet neu.
Jeder Hinweis darauf, warum dies geschieht und/oder wie ich es lösen kann, wird sehr geschätzt. Vielen Dank.
Haben Sie irgendwelche Threads gestartet, bevor Sie diese Prozesse gestartet haben? –
Nicht in dieser Ansicht. – apardes
Was meinst du mit "dieser Ansicht"? Wenn ein Prozess aufhört, könnte dies daran liegen, dass er den fehlerhaften Synchronisierungsstatus von einem übergeordneten oder übergeordneten Prozess oder von einem übergeordneten Prozess geerbt hat. Der beste, möglicherweise einzige Weg, um sicherzustellen, dass dies nie passieren kann, besteht darin, Prozesse niemals zu starten, nachdem irgendwelche Threads gestartet wurden. –