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