sql >> Base de Datos >  >> RDS >> Mysql

Invocar pusher cuando mysql ha cambiado

Invocar mensaje PUSH de PubNub a través de MySQL Trigger en ACTUALIZAR, INSERTAR y ELIMINAR

MySQL hace que sea sencillo envolver su codificación en DISPARADORES fácilmente accesibles a través de procedimientos almacenados. Puedes crear algo similar con pusher y sé cómo hacerlo con PubNub; así que aquí hay una guía rápida con PubNub y MySQL. ¡Simplicidad es lo que buscas y aquí está tu solución! Te guiaré a través de una manera fácil de enlazar cualquier ACTUALIZACIÓN , INSERTAR y ELIMINAR acción en su mesa a una función almacenada que se invocará cada vez, enviando notificaciones automáticas a su móvil y aplicaciones web fácilmente con PubNub.

Mensaje de inserción de PubNub

DELIMITER $$
CREATE PROCEDURE push_message
(p1   DOUBLE,
 p2   DOUBLE,
 p3 BIGINT)
BEGIN
 DECLARE cmd CHAR(255);
 DECLARE result CHAR(255);
 SET cmd = CONCAT('curl https://pubsub.pubnub.com/publish/demo/demo/0/mysql_triggers/0/%22',p1, ',' ,p2, ',' ,p3,'%22');
 SET result = sys_eval(cmd);
END$$;

NOTA:asegúrese de que los tipos de PROCEDIMIENTO sean correctos DOUBLE o VARCHAR o TEXTO .

Ejemplo de inserción de código de activación de MySQL

CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

NOTA:asegúrese de incluir las columnas que necesita aquí en su mensaje push.

Ejemplo de ACTUALIZACIÓN del código de activación de MySQL

CREATE TRIGGER push_message_trigger AFTER UPDATE ON your_table_name_here
FOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);

Supervisar el mensaje push a través de la consola de depuración

http://www.pubnub.com/console?sub=demo&pub=demo&channel =mysql_triggers - Puede ver cómo se activan sus disparadores a través de PubNub Dev Console. De esta manera, puede comprender qué parámetros necesita cambiar y qué datos es importante que incluya en cada notificación automática que PubNub websocket puede recibir y más en el dispositivo móvil y web.

Recibir el mensaje push en JavaScript

<div id=pubnub ssl=on></div>
<script src=//pubnub.a.ssl.fastly.net/pubnub-3.4.5.min.js></script>
<script>(function(){

    PUBNUB.init({
        subscribe_key : 'demo',
        ssl           : true
    }).subscribe({
        channel  : 'mysql_triggers',
        callback : function(mysql_trigger_details) {
            alert(mysql_trigger_details);
        }
    });

})();</script>

Ahora tiene los pasos necesarios para enviar y recibir eventos de cambio desde MySQL directamente a través de procedimientos simples. También hay formas de optimizar este método, como emitir una señal a un proceso daemon que pone en cola y agrupa las notificaciones push HTTPS. Esto debería ser bastante eficiente.