Hola: Tengo una aplicación que genera datos en un pool de ocho trabajadores (joblib.Parallel) que son almacenados en una base de datos (Pytables) por un proceso paralelo (multiprocessing.Process). Los datos son transferidos a través de una cola.
Ahora bien: el bucle que genera los datos es muy rápido, hay datos nuevos cada milésima de segundo. Mi pregunta es, cuando intento escribir en la cola, ¿se produce un bloqueo? ¿El resto de trabajadores tiene que esperar para escribir sus resultados? Al haber tantos procesos leyendo y escribiendo en la cola con tanta frecuencia, puede ser un factor importante. El objeto que pongo en la cola es: [(etiqueta1, etiqueta2), [tiempo_a, valor1_a, valor2_a, valor3_a, (i1_a, i2_a)], [tiempo_b, valor1_b, valor2_b, valor3_b, (i1_b, i2_b)] ...] donde el número de listas es variable (~10) y el proceso que guarda desempaqueta los valores para guardarlos en la tabla etiqueta1, etiqueta2, tiempo_a, valor1_a, valor2_a, valor3_a, i1_a, i2_a etiqueta1, etiqueta2, tiempo_b, valor1_b, valor2_b, valor3_b, i1_b, i2_b ... ¿Hay alguna forma más eficiente de hacer esta transferencia? Las etiquetas serán guardadas como enteros sin sign de 32 bits, valores y tiempo floats de 32 bits e i1 e i2, float64. /David.
_______________________________________________ Python-es mailing list [email protected] https://mail.python.org/mailman/listinfo/python-es FAQ: http://python-es-faq.wikidot.com/
