El día 3 de marzo de 2014, 16:05, Daπid <[email protected]> escribió:
> 2014-03-03 15:51 GMT+01:00 Chema Cortes <[email protected]>:
>
>> >     q.join()
>>
>> En el código que pones en pastebin no aparece esta línea, y parece ser
>> precisamente el problema de todo.
>
>
> Oops, borré de más.
>
> q.join() estaría justo antes de saver.join(). En todo caso, si reemplazo
> JoinableQueue por Queue y simplemente espero con saver.join(), el resultado
> es el mismo.
>
> También he probado a ponerle un límite de tiempo:
>
> try: get(timeout=1)
> except Queue.Empty(): time.sleep(1)
>
> pero sigue quedándose atascado en el get.

OK. Creo que has hecho un planteamiento demasiado optimista. El
proceso "saver" entra a funcionar antes de los jobs generadores, por
lo que es posible que termine sin haber procesado todos los datos,
bloqueándose el hilo principal por quedar datos en la cola.

Por otro lado, estás usando una librería externa para HDF5 que podría
estar descontrolando el GIL del intérprete. Prueba a usar el backend
"threading" a ver si mejora.

https://pythonhosted.org/joblib/parallel.html#using-the-threading-backend



>
> _______________________________________________
> Python-es mailing list
> [email protected]
> https://mail.python.org/mailman/listinfo/python-es
> FAQ: http://python-es-faq.wikidot.com/
>



-- 
Hyperreals *R  "Quarks, bits y otras criaturas infinitesimales":
http://ch3m4.org/blog
Buscador Python Hispano: http://ch3m4.org/python-es
_______________________________________________
Python-es mailing list
[email protected]
https://mail.python.org/mailman/listinfo/python-es
FAQ: http://python-es-faq.wikidot.com/

Responder a