Mysql
 sql >> Database >  >> RDS >> Mysql

Richiama pusher quando mysql è cambiato

Richiama il messaggio PUSH PubNub tramite MySQL Trigger su UPDATE, INSERT e DELETE

MySQL Semplifica il wrapping del codice in TRIGGERS facilmente accessibili tramite procedure memorizzate. Puoi creare qualcosa di simile con pusher e so come farlo con PubNub; quindi ecco una guida rapida con PubNub e MySQL. La semplicità è ciò che cerchi ed ecco la tua soluzione! Ti guiderò attraverso un modo semplice per associare qualsiasi UPDATE , INSERIRE e ELIMINA azione sul tuo tavolo a una funzione memorizzata che verrà richiamata ogni volta, inviando notifiche push alle tue app mobili e web facilmente con PubNub.

Messaggio Push 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:assicurati che i tipi di PROCEDURA siano corretti DOUBLE o VARCHAR o TESTO .

Esempio INSERT codice trigger 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:assicurati di includere le colonne che ti servono qui nel tuo messaggio push.

Esempio di AGGIORNAMENTO codice trigger 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);

Monitoraggio del messaggio push tramite la console di debug

http://www.pubnub.com/console?sub=demo&pub=demo&channel =mysql_trigger - Puoi guardare i tuoi trigger attivati ​​tramite PubNub Dev Console. In questo modo puoi capire quali parametri devi modificare e quali dati è importante per te includere in ogni notifica push che può essere ricevuta da PubNub websocket e altro sul dispositivo Mobile e Web.

Ricezione del messaggio push in 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>

Ora hai i passaggi necessari per inviare e ricevere eventi di modifica direttamente da MySQL tramite semplici procedure. Esistono anche modi per ottimizzare questo metodo, come inviare un segnale a un processo daemon che accoda e raggruppa le notifiche push HTTPS. Questo dovrebbe essere molto efficiente.