通过MySQL触发Python(来自PHP)

背景

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

问题:通过MySQL集成PHPPython

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

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

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

可能的解决方案

我正在考虑三种不同的流程之间的沟通方式.

>完全将PHP重写为Python.可能需要很长时间才能生存.
>修补PHP以使其也将XML写入套接字.让一个Python线程监听套接字.这似乎是可行的.每次发布新版本的PHP时都需要重写它.它看起来有点难看.
>编写一个SQL触发器,通知Python代码数据库已更新,并且可以通过正常的SQL查询获取最新信息.这是我不熟悉的技术,因此这个问题:

问题

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

可能的答案?

我假设答案将包括MySQL触发器,但我很高兴被告知我正在咆哮错误的树.

从我到目前为止的研究中,我相信一个答案是触发execution of an arbitrary executable然后可以通过套接字与主进程通信,但我希望可能有更直接的东西 – 比如调用阻止的SQL API直到触发器被触发.

解决方法:

解决方案4:让Python发布包含web方法的Web服务(XMLRPC或SOAP),PHP可以调用该方法告诉Python新数据可用.

(Python XMLRPC非常易于使用)

上一篇:php – Mysql触发/事件与Cronjob


下一篇:MySQL Trigger仅适用于某个mysql用户