Mysql
 sql >> Datenbank >  >> RDS >> Mysql

Pusher aufrufen, wenn sich mysql geändert hat

PubNub-PUSH-Nachricht über MySQL-Trigger bei UPDATE, INSERT und DELETE aufrufen

MySQL Macht es einfach, Ihre Codierung in leicht zugängliche TRIGGERS zu verpacken über gespeicherte Prozeduren. Sie können etwas Ähnliches mit pusher erstellen und ich weiß, wie es mit PubNub geht; Hier ist also eine Kurzanleitung mit PubNub und MySQL. Einfachheit ist das, was Sie suchen, und hier ist Ihre Lösung! Ich werde Sie durch einen einfachen Weg führen, jedes UPDATE zu binden , EINFÜGEN und LÖSCHEN Aktion auf Ihrem Tisch zu einer gespeicherten Funktion, die jedes Mal aufgerufen wird und mit PubNub ganz einfach Push-Benachrichtigungen an Ihre Mobil- und Web-Apps sendet.

PubNub-Push-Nachricht

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$$;

HINWEIS:Stellen Sie sicher, dass Ihre PROCEDURE-Typen korrekt sind DOUBLE oder VARCHAR oder TEXT .

Beispiel für das Einfügen eines MySQL-Triggercodes

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

HINWEIS:Stellen Sie sicher, dass Sie die hier benötigten Spalten in Ihre Push-Nachricht einfügen.

MySQL-Triggercode-UPDATE-Beispiel

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

Überwachen Sie die Push-Nachricht über die Debug-Konsole

http://www.pubnub.com/console?sub=demo&pub=demo&channel =mysql_triggers - Sie können beobachten, wie Ihre Trigger über die PubNub Dev Console ausgelöst werden. Auf diese Weise können Sie nachvollziehen, welche Parameter Sie geändert haben müssen und welche Daten für Sie wichtig sind, um sie in jede Push-Benachrichtigung aufzunehmen, die von PubNub-Websocket und mehr auf dem Mobil- und Webgerät empfangen werden kann.

Empfangen der Push-Nachricht 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>

Jetzt haben Sie die erforderlichen Schritte zum Senden und Empfangen von Änderungsereignissen aus MySQL direkt über einfache Prozeduren. Es gibt auch Möglichkeiten, diese Methode zu optimieren, z. B. das Ausgeben eines Signals an einen Daemon-Prozess, der HTTPS-Push-Benachrichtigungen in eine Warteschlange einreiht und bündelt. Dies sollte sehr effizient sein.