【发布时间】:2012-04-11 01:47:59
【问题描述】:
我公司的 DBA 有一个脚本,可以自动终止对我们生产数据库的长时间运行的数据库连接和查询。我编写了一个循环运行的 CakePHP Shell 应用程序,有点像一个守护进程,它需要定期进行数据库读取和写入。如果运行时间过长,数据库连接会被维护脚本关闭,并且我的应用程序会出错。
查看 CakePHP 源代码,似乎在实例化模型时,它会自动尝试连接到适当的数据库。有没有办法只在查询时连接数据库,然后断开连接?
【问题讨论】:
-
我认为没有一种干净的方法可以做到这一点而不触及核心,我会考虑一下,也许会在早上提供答案。但是恕我直言,DBA 政策没有意义,你知道他们为什么这样做吗?
-
虽然在 CakePHP 中可能有一种干净的方式来实现您想要做的事情,但我必须同意@luchomolina,但有些地方不对劲。这要么是策略,要么是你的 shell 不断运行的事实。是否可以定期运行您的 shell 脚本(作为 cron 作业?)。我知道这个评论不能解决你的问题(这就是为什么我试图在下面给出一个有用的答案),但这是值得考虑的事情。
标签: cakephp