[pyar] Presentación y consulta (Sockets -> envío de datos )

Angel Java Lopez ajlopez2000 en gmail.com
Lun Mayo 20 10:48:57 ART 2013


Bien, pregunta:

- Tan importante es que no se pierdan esos mensajes?

Yo prefiero tener primero algo andando, y luego evaluar que problema hay
que solucionar o mejorar la solucion. Digo,

- Make it works
- Make it right
- Make it fasts

Todavia no entendi si por perder esos mensajes (al apagar los colectores),
se:
- se pierden 2 o 3 mensajes que no le importan a nadie
- o mueren 20 gatitos, con sufrimiento extremo

:-)

Es es el contexto que me falta.

Por ejemplo, en un caso que me toco en el siglo pasado, se podia apagar los
colectores. Pero lo importante no era la perdida de los mensajes que
estaban en la cola en memoria. El problema era que las maquinas productoras
de mensajes (centrales telefonicas) tenian un buffer limitado, y si la
maquina colectora se apagaba, por digamos, n minutos, se perdian los
mensajes PRODUCIDOS desde entonces por las maquinas productoras de
mensajes, y lo que se perdia por estar en memoria y haber sido recibido
ANTES del corte era infimo

Como es tu contexto?

Que recuerde, tu contexto tambien pedia la persistencia de lo recibido (en
mi caso, se necesitaba que los mensajes enviados por las centrales
telefonicas se grabaran en algun lado). En mi caso, dividimos el tema

- Persistir el mensaje recibido para que no se pierda y sirva para analisis
posterior
del tema
- El mensaje recibido debo enviarlo a algun lado para procesarlo en este
momento

Me imagino que un contexto moderno seria:

- Estoy recolectando mensajes de Twitter.
- Los que puedo recolectar, los persisto, para analisis posterior
- Mientras, tambien los envio para procesar en tiempo real a algun lado
- Si se apaga algun recolector, Lola Mento  :-)

Nos leemos!

Angel "Java" Lopez
@ajlopez



2013/5/20 nicopixel <nicopixel en gmail.com>

>
> Entonces, los productores encolan los datos y se olvidan, con lo que nunca
>> se bloquean.
>> El consumidor los levanta de esas colas y los guarda en la base. Yo haría
>> que ese mismo hilo tome el más antiguo
>> lo envíe y lo elimine.
>>
>
> Si, me encantaría, el tema es que necesito que las colas esten persistidas
> en el disco
> ya que los dispositivos que tienen los "colectores" de datos pueden llegar
> a ser apagados/reiniciados
> y perderia la cola si ésta se encuentra en memoria. De ahi el tema de
> persistir los datos.
> Con sqlite intenté hacer eso, que un hilo colecte datos, los guarde y otro
> hilo tome el mas antiguo,
> lo envie, pero al intentar eliminarlo.... explota! (de allí mi problema
> con la concurrencia).
>
>
> > O mejor todavía, dependiendo de lo que signifique "enviar", lo encole
> para que otro hilo lo envíe.
>
> "Enviar" es enviar a un servidor remoto. La aplicacion se conecta a
> servidores, recibe datos y los reenvia
> a otro lado. El tema es que no se pueden perder los datos recibidos y al
> reenviarse deben recibir un ack.
> Si no lo recibe, se queda reintentando.
>
>
>
>
>
>
>
>
>
>
>>
>> Al quedar todas las operaciones en un solo hilo, las realizás en orden,
>> los hilos que juntan datos nunca
>> bloquean, y listo. El *peor* de los casos es que si el acceso a la base
>> de datos es muy lento, se te van
>> a ir encolando muchos datos, pero tener concurrencia probablemente no te
>> solucionaría ese problema, tan sólo
>> haría que sea más difícil de ver :-)
>>
>> Acá tenés un ejemplito:
>>
>>
>> http://smherwig.blogspot.com.ar/2012/09/producer-consumer-model-with-python.html
>>
>> _______________________________________________
>> 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/20130520/ce6a69b8/attachment.html>


More information about the pyar mailing list