首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >当MySQL服务器离开时,Propel2重新连接

当MySQL服务器离开时,Propel2重新连接
EN

Stack Overflow用户
提问于 2016-03-17 07:15:37
回答 1查看 652关注 0票数 4

我有一个使用Propel2构建的长时间运行的作业。但是,有时它会崩溃,并出现臭名昭著的mysql server has gone away错误。我想通过重新连接到服务器来从这个错误中恢复,也许在等待几秒钟之后。有没有人知道如何在连接中断后强制Propel重新连接?我没有从PropelPDO应用程序接口中找到任何如何做到这一点的线索。

EN

回答 1

Stack Overflow用户

发布于 2016-09-29 17:57:49

在与laravel queue结合使用时,我遇到了这个问题。queue:work守护进程正在处理,在超时后,它不会自行重新连接。也尝试了持久连接,但没有任何帮助。

我现在解决这个问题的方法,有点特定于队列/队列,但也可能帮助您找到解决方案。

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

代码语言:javascript
复制
$manager = Propel::getConnectionManager('default');
$manager->closeConnections();

Propel完成的新请求将创建一个新连接(这将发生在worker处理的每个新作业中)

您也许可以尝试/捕获您的查询,查看错误/异常是什么,并在出现'mysql服务器已离开‘时触发断开连接并重试查询

票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/36048775

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档