首页 > 解决方案 > 如何更新,然后用 Python 和 DBUtils PersistentDB 选择更新的数据?

问题描述

有两个 Python 脚本。脚本 A 不断读取数据库中的记录,然后发送消息。脚本 B 不断查找数据并插入数据库。它们都继续运行而不会被终止。

如果数据库中有未处理的记录,当脚本A启动时,脚本A可以看到这些记录,并正确处理。脚本 A 现在空闲。一段时间后,脚本 B 插入一些新记录。但是,脚本 A 看不到这些新添加的记录。

在脚本 B 中,插入记录后,我有 connection.commit()。记录在数据库中。

脚本 A 在以下情况下无法正常工作:

persist = PersistentDB(pymysql, host=DB_HOST, port=DB_PORT, user=DB_USERNAME, passwd=DB_PASSWORD, db=DB_DATABASE, charset='utf8mb4')

while True:
    connection = persist.connection()
    cursor = connection.cursor()
    cursor.exec("SELECT...")

脚本 A 在以下情况下正常工作:

while True:
    persist = PersistentDB(pymysql, host=DB_HOST, port=DB_PORT, user=DB_USERNAME, passwd=DB_PASSWORD, db=DB_DATABASE, charset='utf8mb4')
    connection = persist.connection()
    cursor = connection.cursor()
    cursor.exec("SELECT...")

我真的应该以这种方式使用 PersistentDB 吗?每次我声明它似乎都会覆盖持久连接池。请告诉我正确的方法是什么。

PS 使用 Python 3、pymysql 和 DBUtils 连接到 MySQL 8

标签: python-3.x

解决方案


推荐阅读