[pyar] [DJANGO] SocketIO Client in django
Pedro Pezzarini
jose2190 en gmail.com
Dom Dic 27 16:31:15 ART 2015
---- Contexto
Hola querida comunidad, desde hace tiempo vengo desarrollando proyectos en
Django y hasta ahora no he tenido grandes problemas.
Pero ahora surgió la necesidad de interconectar en tiempo real multiples
instancias de los sistemas corriendo que se encuentran en diferentes hosts.
Mi idea es utilizar socketio y conectar a cada sistema para obtener las
estadísticas en tiempo real, es decir, conectar a la ejecución de django
como cliente al server.
---- Problema
La pregunta es, como hacer que el socket quede escuchando sin que se
bloquee la ejecucion de django?
Obviamente si alguien tiene una mejor forma de resolver este problema, soy
todo ojos para leerlo.
Desde ya gracias por el tiempo que emplean en responder.
Saludos, Pedro
Esto es lo que estoy intentando hacer sin exito con los events del socket:
---- Codigo
from socketIO_client import SocketIO, LoggingNamespace
from redis import Redis
from rq import Queue
from threading import Thread
class DjangoLive(object):
"""docstring for DjangoLive"""
def __init__(self, host, port):
super(DjangoLive, self).__init__()
self.host = host
self.port = port
self.connection = None
self.thread = None
def Connect(self):
self.connection = SocketIO(self.host, self.port, LoggingNamespace)
self.connection.on('hi', self.testResponse)
self.connection.emit('hi', 'hello')
self.thread = Thread(target = self.Wait)
self.thread.start()
#self.thread.join()
def Wait(self):
self.connection.wait()
def testResponse(self, *args):
print('testResponse', args)
liveconnection = DjangoLive('localhost', 8080)
liveconnection.Connect()
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151227/0ae8c893/attachment.html>
Más información sobre la lista de distribución pyar