[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