Re: Programación en C

From: Alvaro Herrera <alvherre(at)commandprompt(dot)com>
To: Teofilo Oviedo <teus79(at)active(dot)com(dot)py>
Cc: pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Programación en C
Date: 2007-07-18 23:16:40
Message-ID: 20070718231640.GJ6651@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Teofilo Oviedo escribió:
> Amigos, una consulta rápida.
>
>
> Tengo un sistema hecho en C que debe quedar arriba durante las 24 hs.
> Y cada tres segundos entra en un bucle hecho en un while donde se
> consulta por medio de un SELECT si hay registros nuevos que procesar.
> Una vez que se haya verificado o procesado el/los registros se vuelve al
> bucle.

Sugerencia: en lugar de hacer polling cada 3 segundos, considera hacer
que la aplicacion que inserta los registros en cuestion lance un NOTIFY.
Luego tu otra aplicacion puede quedarse esperando a que le llegue la
notificacion (usando LISTEN), y cuando aparezca entonces lleva a cabo la
accion.

Es facil hacer el NOTIFY en un trigger; de esa manera no necesitas
modificar el codigo de la aplicacion insertante.

Con respecto a cambiar la conexion, no hay ninguna razon para cambiarla.
Lo unico importante es que no debes dejar transacciones abiertas por
mucho tiempo; es decir, durante el tiempo que la aplicacion esta
"durmiendo" (es decir esperando la notificacion) asegurate que no estes
dentro de una transaccion.

--
Alvaro Herrera Valdivia, Chile ICBM: S 39º 49' 18.1", W 73º 13' 56.4"
"¿Que diferencia tiene para los muertos, los huérfanos, y aquellos que han
perdido su hogar, si la loca destrucción ha sido realizada bajo el nombre
del totalitarismo o del santo nombre de la libertad y la democracia?" (Gandhi)

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2007-07-18 23:17:45 Re: Programación en C
Previous Message Miguel Rodríguez Penabad 2007-07-18 22:40:12 Re: Error en consulta