mysql更改时调用推送程序
按照目前的情况,这个问题不适合我们的问答形式。我们希望答案得到事实,参考或专业知识的支持,但是这个问题可能会引起辩论,争论,民意调查或扩展讨论。如果您认为此问题可以解决并且可以重新提出,请访问帮助中心以获取指导。
7年前关闭。
mysql
在没有管理员交互的情况下,如何将数据库更改推送到管理员屏幕pusher
?
可以pusher
运行某种侦听器来更改,mysql
还是可以pusher
简单地进行某种奇特的轮询?
总而言之,如何编码这样的设置?
一个简单的例子或链接将不胜感激。
回答:
通过MySQL触发器在UPDATE,INSERT和DELETE上调用PubNub PUSH消息
War️ 这可能会导致数据库变慢。给定每个插入的sys
exec’curl,这将引入相对较差的性能。最好还有一个触发器将消息写入另一个表,并让另一个进程在循环中检查新行。
MySQL使通过存储过程将代码包装到易于访问的
变得简单。您可以使用pusher创建类似的内容,而我知道如何使用PubNub进行创建。因此,这里是PubNub和MySQL的快速指南。您追求的就是简单,这就是您的解决方案!我将引导您通过一种简单的方法,将表上的所有
, 和
操作绑定到每次都会被调用的存储函数,并使用PubNub轻松地向您的移动和Web应用发送推送通知。
回答:
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$$;
注意:确保您的过程类型是正确的 或 或 。
回答:
CREATE TRIGGER push_message_trigger AFTER INSERT ON your_table_name_hereFOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);
注意:确保在推送消息中包括此处需要的列。
回答:
CREATE TRIGGER push_message_trigger AFTER UPDATE ON your_table_name_hereFOR EACH ROW
CALL push_message(NEW.Column1, NEW.Column2, NEW.Column3);
回答:
http://www.pubnub.com/console?sub=demo&pub=demo&channel=mysql_triggers-您可以观看通过PubNub
Dev Console触发的触发器。这样,您就可以了解需要更改哪些参数,以及哪些数据对您很重要,以便将它们包含在PubNub
websocket可以接收的每个推送通知中,以及在移动和Web设备上的更多通知。
回答:
<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>
现在,您已经具有通过简单的过程直接从MySQL 发送和接收
所需的步骤。还有一些方法可以优化此方法,例如向守护程序进程发出信号,该进程对HTTPS推送通知进行排队和缓冲。这应该足够高效。
以上是 mysql更改时调用推送程序 的全部内容, 来源链接: utcz.com/qa/417177.html