[pyar] [DJANGO] SocketIO Client in django

Pedro Pezzarini jose2190 en gmail.com
Lun Dic 28 22:46:38 ART 2015


Hola Daniel, si, lo estuve viendo seria genial que se integre eso al stack
por default de djangom pero no resuelve del todo a mi problema.

Estuve leyendo sobre la integracion de twisted con django, y dejar de lado
el loop por default de espera de peticiones. Al parecer hay un proyecto
dentro de todo bien fundado que integra twisted, algo como django + celery
+ gunicorn, quizas pueda integrar un listener para socketio....

Se llama hendrix
http://hendrix.readthedocs.org/en/latest/

De igual manera, ni bien tenga una solucion lo envio a la lista.
Saludos y gracias por el tiempo que dedican a responder.


2015-12-28 16:11 GMT-03:00 Daniel Moisset <dmoisset en machinalis.com>:

> Pedro,miraste algo de channels? Es un fotk de django que está haciendo
> andrew godwin para tratar de resolver ese tipo de problemas. Por ahora esta
> medio experimental (la idea es que si anda bien se integre a django)
> On Dec 27, 2015 19:31, "Pedro Pezzarini" <jose2190 en gmail.com> wrote:
>
>> ---- 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()
>>
>>
>> _______________________________________________
>> pyar mailing list pyar en python.org.ar
>> http://listas.python.org.ar/listinfo/pyar
>>
>> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>>
>> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
>> Argentina - http://www.usla.org.ar
>>
>
> _______________________________________________
> pyar mailing list pyar en python.org.ar
> http://listas.python.org.ar/listinfo/pyar
>
> PyAr - Python Argentina - Sitio web: http://www.python.org.ar/
>
> La lista de PyAr esta Hosteada en USLA - Usuarios de Software Libre de
> Argentina - http://www.usla.org.ar
>
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20151228/4da9fe9d/attachment.html>


Más información sobre la lista de distribución pyar