Re: Notify/listen

From: Alvaro Herrera <alvherre(at)alvh(dot)no-ip(dot)org>
To: Luis A(dot) Zevallos Cárdenas <lzevallos(at)lobosistemas(dot)com>
Cc: posgres <pgsql-es-ayuda(at)postgresql(dot)org>
Subject: Re: Notify/listen
Date: 2009-07-02 15:14:54
Message-ID: 20090702151453.GA4698@alvh.no-ip.org
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

Luis A. Zevallos Cárdenas escribió:

> Entiendo que despues de que se inserte un registro sobre la tabla
> eventos_mail llama a la funcion y la funcion ejecuta el notifity eventos
> mail que nose que es lo que hara
> y como se amarra o enlaza o se comunica esto con ese preograma listener.c
> que tampoco se que es lo que hace ya que el link no esta disponible.
>
> Ahora cuando se registran datos en la tabla eventos_mail......Bueno en que
> momento se envia el mail.

El supuesto listener.c es el responsable de enviar el email. Es un
daemon que debe estar esperando recibir la notificacion, y cuando
alguien lo despierta, examina la tabla eventos_mail y envia los mail que
haya almacenados.

En pseudocodigo tiene que ser algo asi:

$conexion = postgres->conectar()
$conexion->ejecutar("listen envios_de_mail")
while (true) {
$conexion->esperar_actividad()
$res = $conexion->ejecutar("select * from envios_mail")
for ($reg = $res->siguiente_registro()) {
enviar_mail($reg)
}
}

La parte mas extraña de este programa es el "esperar_actividad". En C y
Perl esto se implementa usando la función select() sobre el socket de la
conexion. En otros lenguajes no sé cómo se hará.

--
Alvaro Herrera http://www.amazon.com/gp/registry/5ZYLFMCVHXC
"The Postgresql hackers have what I call a "NASA space shot" mentality.
Quite refreshing in a world of "weekend drag racer" developers."
(Scott Marlowe)

In response to

  • Notify/listen at 2009-07-02 14:58:52 from Luis A. Zevallos Cárdenas

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Alvaro Herrera 2009-07-02 15:20:54 Re: Notify/listen
Previous Message Luis A. Zevallos Cárdenas 2009-07-02 14:58:52 Notify/listen