Tengo algunas tareas en una aplicación que están vinculadas a la CPU y deseo usar el módulo de multiprocesamiento para usar los procesadores de varios núcleos. Realizo una gran tarea (un análisis de archivo de video) y la divido en varias tareas más pequeñas que se ponen en cola y se realizan mediante procesos de trabajo. Lo que quiero saber es cómo informar el progreso del proceso principal a partir de estos procesos de trabajo. Por ejemplo, necesito que envíen "Estoy en 1000ms de mi análisis del archivo 1". ¿Cuál es la mejor manera de hacer esos informes de progreso?Multiproceso de Python: informe de progreso de los procesos
Respuesta
Recomendaría un multiprocessing.Queue: nada más fácil que los procesos de trabajo para publicar sus actualizaciones (supuestamente como tuplas con los diversos aspectos de sus actualizaciones de progreso) allí, mientras que el proceso principal solo espera esos mensajes y cuando vienen actualizaciones la GUI (o UI textual ;-) para mantener al usuario evaluado del progreso.
Gracias. Creo que es la solución más fácil. Actualmente lo estoy implementando y volveré a preguntar si algo sale mal. Lo siento pero no puedo votar su publicación porque no tengo suficiente reputación. –
@Marc, creo que con 11 o más (y veo que tienes 18 años), puedes votar. Si no funciona para usted, es posible que desee preguntar en meta. –
No tuve suficiente ayer. Ahora he subido tu publicación :) –
- 1. Multiproceso de Python: conjunto de procesos personalizados
- 2. Multiproceso de Python: ¿cómo comparto un dict entre múltiples procesos?
- 3. Diseño multiproceso de Python
- 4. Progreso del informe en Directory.GetFiles
- 5. nginx: ¿Es multiproceso pero utiliza múltiples procesos?
- 6. Python multiproceso genera continuamente los procesos pythonw.exe sin hacer ningún trabajo real
- 7. Multiproceso de Python: cómo limitar el número de procesos en espera?
- 8. problema productor/consumidor con multiproceso de python
- 9. Barra de progreso de Python
- 10. BackgroundWorker informe el progreso de la clase externa?
- 11. Administración de procesos de Python
- 12. Multiproceso de Python 2.6. ¿Compatible con hilos?
- 13. Contenedor InputStream o Reader para informe de progreso
- 14. Informe de fallos en Python
- 15. Error de decapado por multiproceso de Python
- 16. Python multiproceso: Permiso denegado
- 17. ¿Un buen servidor web de python multiproceso?
- 18. desove ya la espera de los procesos secundarios en Python
- 19. ¿Cuáles son las ventajas de concurrent.futures sobre multiproceso en Python?
- 20. Multiproceso de Python - Pipe vs Queue
- 21. cómo matar procesos y procesos secundarios de python?
- 22. Problema de concurrencia de inserción - Entorno multiproceso
- 23. monitorear procesos python pegados
- 24. Python, multihilo demasiado lento, multiproceso
- 25. Desove indefinido de procesos daemonizados en Python
- 26. Monitoreo de procesos remoto simple con Python
- 27. Python Multiproceso diff entre Windows y Linux
- 28. Memoria compartida entre procesos de python
- 29. multiproceso o subprocesamiento en python?
- 30. Registro Python desde procesos múltiples
¿Está preguntando sobre el uso del módulo 'logging'? –
No, deseo informe de progreso de los procesos de trabajo para usar en el proceso principal. Utilizo el módulo de "multiprocesamiento". –
El informe de progreso de los procesos de trabajo para el uso en el proceso principal se puede realizar a través del módulo 'logging'. ¿Por qué dices que no se puede hacer? –