El problema al usar Python Multiprocessing Pool.map () se hace intratable en Python 3.7.2 pero se completa rápidamente en 3.6.2

Acabo de actualizar Python de 3.6.2 -> 3.7.2 y estoy experimentando un problema con la biblioteca de multiprocessing . Estoy usando esto en una aplicación Django, que usa una función específica de Django en la función de trabajo (ver más abajo).

En mi código tengo lo siguiente:

 import multiprocessing as mp from django_app import models def worker_function(value): models.Value.objects.get_or_create(value=value) if __name__ == "__main__": list_of_values = [value_1, value_2, ..., value_n] with mp.Pool() as pool: pool.map(worker_function, list_of_values) 

Específicamente para mi aplicación, esta tarea generalmente se ejecuta en ~ 150-200 segundos.

Sin embargo, después de actualizar a Python 3.7.2, el proceso se bloquea indefinidamente, aunque puedo dar fe de que el uso de mi CPU aumenta considerablemente.

Cambié de nuevo a 3.6.2 y todo funcionó bien de nuevo.

Sé que los problemas de multiprocesamiento pueden ser complejos de diagnosticar, pero espero que me haya perdido una nota en algún lugar.

NOTA: no he probado esto en ninguna otra versión de Python que no sea 3.6.2 y 3.7.2

Actualización: como un medio rápido para diagnosticar, cambié la función de trabajo para simplemente imprimir el valor como tal:

 def worker_function(value): print(value) 

No se imprimieron valores durante el proceso.