gpt4 book ai didi

python - 通过 MySQL 触发 Python(从 PHP)

转载 作者:可可西里 更新时间:2023-11-01 07:37:52 25 4
gpt4 key购买 nike

背景

我正在考虑各种架构选项。虽然多年来我一直使用 SQL 作为查询语言,但我在触发器和存储过程方面的经验有限。

问题:通过 MySQL 集成 PHP 和 Python

在拳击台的红色角落,我有一些现成的 PHP,它处理一些通过 HTTP 推送到服务器的 XML,并将其记录到 MySQL 数据库中。

在圆环的蓝色角落,我有一个用 Python 编写的守护进程,它热衷于及时了解已推送的数据,以便实时处理它。

拳击台本身是 Ubuntu(可能还有 Apache,但尚未确认)。

可能的解决方案

我正在考虑三种不同的进程间通信方式。

  1. 将 PHP 完全重写为 Python。可能需要太长时间才能实现。

  2. 修补 PHP,让它也将 XML 写入套接字。让 Python 线程监听套接字。这似乎是可行的。每次发布新版本的 PHP 时都需要重写它。也显得有点丑。

  3. 编写一个 SQL 触发器,通知 Python 代码数据库已更新,它可以通过正常的 SQL 查询获取最新的。这是我不熟悉的技术,因此这个问题:

问题

是否有用于通知正在运行的 Python 程序另一个进程已更新 MySQL 表的标准习惯用法?

可能的答案?

我假设答案将包括 MySQL 触发器,但我很高兴得知我找错了树。

根据我目前的研究,我相信一个答案是触发 execution of an arbitrary executable然后可以通过套接字与主进程通信,但我希望可能有一些更直接的东西——比如对 SQL API 的调用会阻塞,直到触发器被触发。

最佳答案

解决方案 4:让 Python 发布一个包含 web 方法的网络服务(XMLRPC 或 SOAP),PHP 可以调用该方法来告诉 Python 有新数据可用。

(Python XMLRPC 非常好用)

关于python - 通过 MySQL 触发 Python(从 PHP),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8399677/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com