janfish/phalcon-db-reconnection 问题修复 & 功能扩展

解决BUG、新增功能、兼容多环境部署,快速响应你的开发需求

邮箱:yvsm@zunyunkeji.com | QQ:316430983 | 微信:yvsm316

janfish/phalcon-db-reconnection

Composer 安装命令:

composer require janfish/phalcon-db-reconnection

包简介

Reconnect MYSQL when the database loses connection

README 文档

README

  • 常驻内存程序使用,解决长时间不操作造成的掉线、抛异常、程序退出

原理

  • 客户端连接在MYSQL设置的interactive_timeout之间内没有任何操作,会被主动断开,造成操作报错
  • 捕捉数据库出现的CR_SERVER_GONE_ERROR、CR_SERVER_LOST两类报错,并自动重连,并重新执行之前想执行的SQL操作
  • 如果判定为事务进行中的写操作,不断线重连,防止破坏事务一致性,但会对事务begin就引起的掉线发起重连

使用

析构函数增加了max_retry_connect参数,申明最大重连次数,此参数默认值2

<?php
use Janfish\Phalcon\Db\Adapter\Pdo\Mysql as Mysql;

$di->setShared('db', function () {
    return new Mysql([
        'adapter' => 'Mysql',
        'host' => 'localhost',
        'port' => '3306',
        'username' => 'root',
        'password' => 'root',
        'dbname' => 'test',
        'max_retry_connect' => 2,
    ]);
});

参考资料

https://dev.mysql.com/doc/refman/5.7/en/client-error-reference.html#error_cr_server_gone_error https://dev.mysql.com/doc/refman/5.7/en/client-error-reference.html#error_cr_server_lost

统计信息

  • 总下载量: 31
  • 月度下载量: 0
  • 日度下载量: 0
  • 收藏数: 0
  • 点击次数: 0
  • 依赖项目数: 1
  • 推荐数: 0

GitHub 信息

  • Stars: 0
  • Watchers: 1
  • Forks: 0
  • 开发语言: PHP

其他信息

  • 授权协议: MIT
  • 更新时间: 2019-08-11

承接程序开发

PHP开发

VUE

Vue开发

前端开发

小程序开发

公众号开发

系统定制

数据库设计

云部署

网站建设

安全加固