Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

Invoca pusher quando o mysql foi alterado

Invocar a mensagem PUSH do PubNub via MySQL Trigger em UPDATE, INSERT e DELETE


MySQL Simplifica o encapsulamento de sua codificação em TRIGGERS de fácil acesso via Procedimentos Armazenados. Você pode criar algo parecido com pusher e eu sei como fazer isso com PubNub; então aqui está um guia rápido com PubNub e MySQL. Simplicidade é o que você procura e aqui está a sua solução! Mostrarei uma maneira fácil de vincular qualquer ATUALIZAÇÃO , INSERIR e EXCLUIR ação em sua tabela para uma função armazenada que será invocada a cada vez, enviando notificações push para seus aplicativos móveis e web facilmente com o PubNub.

Mensagem push do 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$$;

OBSERVAÇÃO:verifique se os tipos de PROCEDIMENTO estão corretos DOUBLE ou VARCHAR ou TEXTO .

Exemplo de INSERÇÃO de código de gatilho 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);

OBSERVAÇÃO:certifique-se de incluir as colunas necessárias aqui em sua mensagem push.

Exemplo de ATUALIZAÇÃO do código de gatilho do 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);

Monitore a mensagem push por meio do console de depuração


http://www.pubnub.com/console?sub=demo&pub=demo&channel =mysql_triggers - Você pode assistir seus gatilhos sendo acionados via PubNub Dev Console. Dessa forma, você pode entender quais parâmetros precisam ser alterados e quais dados são importantes para você incluir em cada notificação push que pode ser recebida pelo Websocket PubNub e muito mais no dispositivo móvel e Web.

Recebendo a mensagem push em 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>

Agora você tem as etapas necessárias para enviar e receber eventos de alteração do MySQL diretamente através de procedimentos simples. Também existem maneiras de otimizar esse método, como emitir um sinal para um processo daemon que enfileira e agrupa notificações push HTTPS. Isso deve ser bastante eficiente.