Articles of ipc

Python IPC eficiente

Estoy haciendo una aplicación en Python3, que se dividirá en partes de batch y gui . Batch es responsable de procesar la lógica y la gui es responsable de mostrarla. Qué marco de comunicación entre procesos (IPC) debo usar con los siguientes requisitos: La GUI se puede ejecutar en otro dispositivo que no sea por […]

¿Cómo puedo comunicarme entre correr código python y nodejs?

Me gustaría tener algún código de Python ejecutándose y comunicándose con un servidor de nodejs Express. Hasta ahora, puedo hacer que mi servidor nodejs llame a las funciones de python a través de uno de los dos mecanismos, ya sea para generar una tarea de python o para que hable con un servidor de zerorpc […]

No se pueden obtener los enlaces de Python de ZeroMQ para recibir mensajes a través de IPC

Estoy tratando de lograr PUB / SUB sobre IPC. Si cambié el código a continuación para que el suscriptor se enlace a “tcp: // *: 5000” y el editor se conecte a “tcp: // localhost: 5000”, funciona, pero no puedo hacer que funcione a través de IPC. ¿Qué estoy haciendo mal? suscriptor.py import zmq, json […]

¿Se pueden compartir los objetos de socket con el multiprocesamiento de Python? socket.close () no parece estar funcionando

Estoy escribiendo un servidor que usa multiprocessing.Process para cada cliente. socket.accept () se llama en un proceso principal y el objeto de conexión se presenta como un argumento al Proceso. El problema es que al llamar a socket.close () el socket no parece estar cerrando. El recv () del cliente debe regresar inmediatamente después de […]

Proceso de Python bifurcado por NodeJS – ¿Alternativa a process.send () para Python?

Estoy forking un script de Python con NodeJS y cuando se bifurca, de forma predeterminada, NodeJS crea un IPC entre este nuevo proceso y el principal. Con NodeJS, para enviar un mensaje de un hijo al padre, hago process.send({msg : ‘toto’}) ¿Cómo puedo hacer eso con Python? http://nodejs.org/api/child_process.html#child_process_child_process_spawn_command_args_options

Python – OSError 24 (demasiados archivos abiertos) y memoria compartida

Enfrenté el problema, había una excepción OSError 24 (“Demasiados archivos abiertos”) planteada en mi Mac OS X en el script de Python. No tenía idea de lo que podría causar ese problema. lsof -p mostró aproximadamente 40-50 líneas, y mi ulimit fue 1200 (verifico que usando resource.getrlimit(resource.RLIMIT_NOFILE) ), que devolvió la tupla (1200, 1200). Así […]

Pasando un Pipe / Connection como contexto arg a multiproceso Pool.apply_async ()

Quiero usar tuberías para hablar con las instancias de proceso en mi grupo, pero recibo un error: Sea __p una instancia de Pool (): (master_pipe, worker_pipe) = Pipe() self.__p.apply_async(_worker_task, (handler_info, context_info, worker_pipe)) Cuando ejecuto esto, obtengo el siguiente error [para cada instancia, obviamente]: File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py”, line 376, in get task = get() File “/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/multiprocessing/queues.py”, line […]

Rápida comunicación IPC / Socket en Java / Python

Dos procesos (Java y Python) deben comunicarse en mi aplicación. Noté que la comunicación de socket toma el 93% del tiempo de ejecución. ¿Por qué la comunicación es tan lenta? ¿Debería estar buscando alternativas a la comunicación por socket o puedo hacer esto más rápido? Actualización: descubrí una solución simple. Parece que el flujo de […]

¿Cómo utilizar los transportes inproc e ipc de Zeromq?

Soy un novato en ZERMQ. ZeroMQ tiene transportes TCP, INPROC e IPC. Estoy buscando ejemplos usando python e inproc en Winx64 y python 2.7, que también se podrían usar para Linux. Además, he estado buscando métodos de transporte UDP y no puedo encontrar ejemplos. El único ejemplo que encontré es import zmq import zhelpers context […]

¿Puede un script de Python saber que se está ejecutando otra instancia del mismo script … y luego hablar con él?

Me gustaría evitar que se ejecuten al mismo tiempo varias instancias de la misma secuencia de comandos de línea de comandos de Python, y me gustaría que la nueva instancia pueda enviar datos a la instancia original antes de que la nueva instancia se suicide. . ¿Cómo puedo hacer esto de forma multiplataforma? Específicamente, me […]