El 09/09/11 17:05, Silvio Bravo Cadó escribió:
Wow no habia escuchado sobre pgq, se ve interesante, aunque creo imho que es tambien meter logica de negocio dentro de la db, que para este caso no le veo problema ya sea por pgq o por listen/notify.
Hola, Silvio (ahora sí, perdón por la lectura rápida de tu nombre). Yo no creo que eso sea meter lógica de negocio, es usar un sistema de colas (que, tangencialmente, usa una bbdd). De hecho, es muy común que un sistema de colas use una bbdd para la persistencia. Lo importante es que sea una aplicación la que, tras escribir en tu bbdd, comunique a la cola el mensaje. Y luego, otra app, lea de la cola y envíe el sms.

    Saludos,

    Álvaro


--
Álvaro Hernández Tortosa


-----------
NOSYS
Networked Open SYStems





2011/9/8 Álvaro Hernández Tortosa <[email protected] <mailto:[email protected]>>

        Hola, Silvia.

        Que la db avise al programa me parece meter lógica de negocio
    dentro de la db. Yo nunca haría eso. ¿Por qué no avisa al programa
    del módem la app que escribe en la db? Me parece más lógico.

        Por otra parte, yo usaría mensajería asíncrona, ¿qué sucede si
    insertan -en un momento de pico- más rápido de lo que el módem es
    capaz de enviar? En el mensaje puedes o bien incluir todo -en cuyo
    caso no necesitas ni siquiera la bbdd- o una referencia a la db
    (el id del mensaje, por ejemplo, o su PK si es otra). Otra cosa es
    que a lo mejor te interese usar pgq ahí.

        Saludos,

        Álvaro

-- Álvaro Hernández Tortosa


    -----------
    NOSYS
    Networked Open SYStems



    El 08/09/11 16:35, Silvio Bravo Cadó escribió:
    Hola Listeros, reciban un saludo, molestandolos con el siguiente
    caso que no necesariamente es propio de funcionamiento de
    postgresql sino de como resolver el siguiente problema:
    Se tiene un modem gsm el cual esta conectado por el puerto serie
    a una computadora con linux. El objetivo es hacer un servicio que
    permita enviar sms por medio del modem. El trafico de peticiones
    puede llegar a ser un poco intenso sobre todo en algunas horas
    del dia. Se debe llegar a tener una capa abstracta como un
    servicio web que permita enviar un sms. Para resolver esto decidi
    dividirlo en 2 partes 1 que sera el web service y otra que sera
    un programa en perl que se encargara de la comunicacion con el
    dispositivo. Los 2 programas tendran en comun 1 base de datos en
    postgresql que se use de intermedio entre el Web service y el
    programa en perl. De tal forma que el web serivice hara un insert
    en una tabla de la db cuando le soliciten enviar un sms, esta
    tabla tendra un trigger que se disparara ejecutando una funcion
    en pl/perl que hara un kill -HUP al proceso del programa en perl
    para avisarle que hay una nueva peticion de envio de sms. El
    programa en perl cachara la señal y generara un hilo que ira a la
    db a buscar las peticiones de envio que esten pendientes y las
    procesara.

    Espero no haberlos confundido, basicamente esta es la forma en la
    que tengo pensada resolverlo. Se me hace un poco rebuscada o mas
    bien complicada y me gustaria saber si alguien ha hecho algo
    parecido o tiene alguna otra idea sobre como resolverlo.

    De antemano muchas gracias,
    Un saludo.







Responder a