Articles of multihilo

Python mira el largo proceso de ejecución, ¿alerta después de tantos minutos?

Estoy trabajando con Python y Jython para implementar aplicaciones en WebSphere. Sin embargo, nos encontramos con un problema con las bibliotecas WAS donde las llamadas a estas acciones a veces tardan hasta 30 minutos en ejecutarse. Para solucionar este problema, debo poder controlar si un proceso todavía se está ejecutando después de tantos minutos y, […]

¿Actualizando la página web desde el subproceso en segundo plano usando socket.io pero sin evento desencadenante?

En casi todos los ejemplos que he encontrado de Flask / Socket.io, Socket.io desencadena un evento que luego es procesado por la aplicación Flask, y reparte cualquier respuesta. Necesito enviar constantemente nuevos datos a la página, sin tener un activador de eventos. En el tutorial en línea de Flask / Socket.io, mencionan esto brevemente, pero […]

¿Puede una pequeña parte de una aplicación usar gevent, o tiene que cambiar toda la aplicación?

Tengo una aplicación grande ya escrita que utiliza construcciones de subprocesos estándar de Python, como subprocesos, colas, sockets normales y multiprocesamiento. Tiene un frontend web implementado utilizando matraz. Quiero exponer una cierta parte del estado de las aplicaciones en tiempo real utilizando websockets. Busqué en Flask-Sockets que usa gevent y gunicorn. ¿Toda mi aplicación tiene […]

¿Hilos locales en Python – negativos, con respecto a la escalabilidad?

Me pregunto si hay algunas implicaciones serias que podría estar creando para mí usando los locales de subprocesos. Noté que, en el caso de Flask, usan hilos locales , y menciono que puede causar problemas con los servidores que no están construidos teniendo en cuenta los hilos. ¿Es esta una preocupación obsoleta? Estoy usando locals […]

La secuencia de comandos de Python multiproceso toma más tiempo que la secuencia de comandos sin subprocesos

Descargo de responsabilidad: soy bastante terrible con el multihilo, por lo que es totalmente posible que esté haciendo algo mal. He escrito un trazador de rayos muy básico en Python, y estaba buscando formas de acelerarlo. El multihilo parecía una opción, así que decidí probarlo. Sin embargo, mientras que la secuencia de comandos original demoró […]

Python: ¿cuál es la forma correcta de pasar argumentos a threading.Thread instance

He extendido el hilo. Hilo: mi idea es hacer algo como esto: class StateManager(threading.Thread): def run(self, lock, state): while True: lock.acquire() self.updateState(state) lock.release() time.sleep(60) Necesito poder pasar la referencia a mi objeto “estado” y, finalmente, a un locking (soy bastante nuevo en los subprocesos múltiples y todavía estoy confundido acerca de la necesidad de bloquear […]

Hilo de Python. El temporizador solo se repite una vez.

def On_Instrumentation_StartAnimation(): “”” Syntax : On_Instrumentation_StartAnimation() Purpose : Fired if the animation is started Parameters : None “”” print “—————————————————————————————-” localtime = time.asctime(time.localtime(time.time())) global start start = time.clock() print “The user entered Animation Mode at local time: “, localtime print(“This data has also been written to ‘c:\dSPACE71\cdlog\cdlog.txt'”) threading.Timer(2, ExecuteDemo).start() ExecuteDemo() # Printing to the text […]

Python requiere un GIL. Pero Jython y IronPython no lo hacen. ¿Por qué?

¿Por qué puedes ejecutar Jython y IronPython sin la necesidad de un GIL pero Python (CPython) requiere un GIL?

Cómo multitarear diccionarios de lectura de una lista y entrar en la base de datos

Estoy tratando de multiprocilar el siguiente código y parece que no puedo hacerlo funcionar. El siguiente código (del cual eliminé la mayoría del código solo con fines ilustrativos) actualmente funciona sin problemas, pero lentamente (aproximadamente 5 minutos para una lista de 3600 tweets). import dataset import datetime import json with open(“postgresConnecString.txt”, ‘r’) as f: DB_CONNECTIONSTRING […]

Hilos con decoradores.

Estoy tratando de implementar subprocesos (con el uso de decoradores) en mi aplicación, pero no puedo entender algunas cosas sobre los lockings y la administración de subprocesos. import threading def run_in_thread(fn): def run(*k, **kw): t = threading.Thread(target=fn, args=k, kwargs=kw) t.start() return run class A: @run_in_thread def method1(self): for x in range(10000): print x @run_in_thread def […]