我正在尝试使用pymysql通过Python连接到在我们的AWS-RDS实例上托管的MySQL数据库。我能够成功连接和检索数据,但是连接间歇性地掉线并引发错误
"pymysql.err.OperationalError: (2003, "Can't connect to MySQL server on '<my_hostname>' ([Errno -3] Temporary failure in name resolution)")"
请注意,我正在使用Python的多处理库来运行池进程。此过程创建的所有线程都试图访问数据库。该过程运行了一段时间,然后失去了与MySQL的连接,并随机中断了不同的运行时间。
return list(tqdm(pool.imap(createMetricDataJson,res), total=len(res)))
createMetricDataJson方法调用数据库以查询不同的表。
答案 0 :(得分:0)
之所以发生这种情况,是因为如果未发布活动,则MySQL数据库默认为8小时超时限制。可以通过定期向MySQL发送心跳来解决此问题。