【问题标题】:Push functionality from MySQL database从 MySQL 数据库推送功能
【发布时间】:2019-09-23 19:21:18
【问题描述】:

我有一个 python 应用程序。 我想知道 mysql 中是否有任何功能(即事件或触发器)可以让我在将数据插入数据库时​​通知我的 python 应用程序。 我想避免使用轮询,因为它会对我的数据库造成很大的开销。

【问题讨论】:

    标签: python mysql python-2.7


    【解决方案1】:

    它不是直接用于 Python,但Is there a way to watch a mysql database for changes using perl? 提供了两个选项:

    1.在数据库中创建一个审计表,并让触发器在那里写入相关信息;并让您的监视应用程序轮询审计表以获取新条目。您仍在轮询,但以一种不会对服务器造成太大影响的受控方式进行。

    2.让触发器通过 UDF 调用外部应用程序。

    【讨论】:

      【解决方案2】:

      提示:

      1. 网络套接字
      2. DB 触发器直接通过 websockets 发送
        1. MySQL :: MySQL 5.1 参考手册 :: 13.2.8.1 SELECT ... INTO 语法Link
        2. 示例:创建 csv 文件的触发器 - MySQL 数据库 Link

      注意:
      DB 触发器可以写入文件。
      可以读取文件。
      文件可以是管道。
      文件内容。
      要发送的内容。
      通过 websockets 发送。
      这是Happy End。
      我们要去周末。

      William Shakespeare :)
      (来源:biography.com

      参考书目:
      noplay/python-mysql-replication · GitHub Link
      WebSocket.org |回声测试Link
      websockets 2.3:Python 包索引Link
      Kaazing 网络和移动通信产品Link
      (强制) Kaazing 开发者网络 |遥测Link
      Kaazing 开发者网络Link
      Socket.IO Link
      面向消息的中间件 - 维基百科,免费的百科全书 Link
      WebSocket 示例 — AutobahnPython 0.9.2 文档Link

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-02-02
        • 1970-01-01
        • 2019-09-20
        相关资源
        最近更新 更多