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

Roberto Alsina ralsina en netmanagers.com.ar
Lun Mayo 20 10:54:29 ART 2013


On 20/05/13 10:27, nicopixel wrote:
>
>     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.

Estan en la memoria del hilo que los guarda en la base de datos.
Obviamente, si apagás eso se pierde lo que esté encolado, pero usar una
base de datos con concurrencia no va a evitar que se pierdan.

> 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).

Ok, entonces lo que tenemos es un problema de implementación :-)

>
> > 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.

Pero siempre mientras está reintentando se puede morir, y los datos se
pierden igual. Si querés que jamás
se pierda un dato, el problema es otro.
------------ próxima parte ------------
Se ha borrado un adjunto en formato HTML...
URL: <http://listas.python.org.ar/pipermail/pyar/attachments/20130520/4fe7eb7a/attachment.html>


More information about the pyar mailing list