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.