繁体   English   中英

当MySQL服务器消失时,Propel2重新连接

[英]Propel2 reconnect when MySQL server gone away

我有一个长期工作,使用Propel2 但是,有时它与臭名昭着的mysql server has gone away崩溃mysql server has gone away 我想通过重新连接到服务器来恢复此错误,可能在等待几秒钟之后。 有没有人知道如何在连接丢失后强制Propel重新连接? 我没有找到任何线索如何从PropelPDO API执行此操作。

我在与laravel队列结合时遇到了这个问题。 队列:工作守护程序是进程,在超时发生后,它不会自行重新连接。 尝试持久连接,这没有帮助。

我现在解决这个问题的方法是一个特定的队列/ laravel,但也可以帮助你找到解决方案。

我现在强制每个作业处理的作业,通过使用Queue :: before()事件断开推进连接。

$manager = Propel::getConnectionManager('default');
$manager->closeConnections();

然后,Propel完成的新请求将创建一个新连接(这将发生在工作人员处理的每个新工作中)

您也许可以尝试/捕获您的查询,查看错误/异常是什么,以及何时'mysql服务器已经消失'触发断开连接并重试查询

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM