某些设备在公共远程MySQL数据库服务器上异步存储值。
我想用Python编写一个supervisor应用程序(可能还有SQLAlchemy)来识别数据库上的外部INSERT事件并对最后一行的数据进行操作。这是为了避免长时间的手动测试,以查看每个表是否定期更新或记录器是否崩溃。
有人可以告诉我在哪里搜索这种信息,更好的是一个例子吗?
修改
我已经使用datetime主键({date_time})定期读取所有表,加载每个表的最后一行,并与之前的值进行比较:
SELECT * FROM table ORDER BY date_time DESC LIMIT 1
但它看起来非常麻烦,并不能保证在连续数据库检查之间不会丢失一些行。
引擎是INNODB的旧版本,我无法升级:我不能在架构中使用UPDATE字段,因为它根本不起作用。
重新提出问题: 如何使用类似守护进程的Python应用程序(休眠线程)监听任何数据库事件,并仅在发生某些事情时唤醒?
我还想避免使用SQL触发器,因为这样做太难以管理:表格数百个,并且根据活动记录器经常添加/删除它们。
我看了一下SQLAlchemy,但是我能找到的所有引用,如果我没有误解它,那么装饰器就可以对SQLAlchemy本身的INSERT进行操作。我没有找到任何有关数据库外部更改的信息。
关于示例请求:我对复制和粘贴不感兴趣,因为首先我想了解其中的工作原理。我更喜欢(甚至不完整)的例子,因为SQLAlchemy文档对我的知识来说太深了,我根本无法将这些文章放在一起。