我遇到了暂停查询的问题。我的WEB中的一些任务花费的时间超过1分钟,因此mysql查询状态为“休眠”,直到进程关闭为止。我想在抓住细节之后关闭进程。
$delay = $this->db->select('*');
$delay = $this->db->get('system_status');
if($delay->num_rows() != 0) $delay = $delay->result_array();
并且此代码之后应该是一些明确的或删除插入行到进程列表的内容,直到它被声明为“正在休眠”。有什么想法吗?
答案 0 :(得分:1)
正如我在评论中提到的,您需要在1分钟超时后续订数据库连接。
CodeIgniter有一种重新连接数据库连接的方法:
$this->db->reconnect();
来自Doc:
重新连接/保持连接
如果您正在执行数据库服务器的空闲超时 一些重的PHP提升(例如处理图像),你应该 考虑之前使用
reconnect()
方法ping服务器 发送进一步的查询,可以优雅地保持连接 活着或重建它。