先放地址:https://github.com/wwaayyaa/mysql-timeout
php遇到慢sql的时候,一般就是调整php的最大执行时间,mysql的执行时间等配置。
但是有时候想灵活的针对每一句sql做不一样的超时设置。
特别是在cli模式的php中,如果sql操作等待,则当前进程一直阻塞直接影响整个进程。
如果你希望某个页面操作的sql能在短时间内要么返回要么超时,免得页面一直在那里loading...
如果你希望在cli模式下多进程操作数据库,并且每个进程都能不卡死在db上(如workerman的task进程池,专门用于做db等耗时的io操作。但是如果任务量巨大,会导致所有进程繁忙,而此时你db挂了,那么整个task进程池就会一直阻塞,导致整个业务瘫痪,其实博主我就是遇到这个问题了)。
那么可以试试这个包,博主在尝试了几种方式都失败之后。(具体尝试了什么,见 《关于php pdo连接mysql,查询超时问题》)
根据官方mysqli-async所写的。
本文介绍了一款针对PHP和MySQL交互过程中实现SQL查询超时控制的解决方案。该方案允许开发者为不同的SQL查询设定个性化的超时时间,适用于web页面加载和CLI模式下的多进程数据库操作,有助于避免因长时间等待数据库响应而导致的进程阻塞问题。
719

被折叠的 条评论
为什么被折叠?



