无限期运行PHP脚本,MySQL超时

时间:2012-09-11 04:21:42

标签: php mysql

我有一个无限运行的PHP脚本,每5-10秒执行一次特定任务(一个do-while循环,在每次迭代结束时检查数据库以确定它是否应该继续)。此任务包括MySQL数据库查询。处理数据库连接的最佳方法是什么?我应该:

a。)断开连接,然后每次迭代重新连接到数据库?

b。)将连接超时设置为无限期限制?

c。) ping数据库以确保我仍然连接,并在执行和查询之前根据需要重新连接?

d。)还有别的吗?

编辑:为了澄清,该脚本向用户的iPhone发送推送通知。

1 个答案:

答案 0 :(得分:1)

您不能将PHP脚本作为守护程序运行的建议是荒谬的。我做了好几次,效果很好。有some example code to get you started。 (需要花梨......如果你不是粉丝,请自己动手。)

现在,谈谈你的实际问题。如果您正在进行常规查询,则您的MySQL连接不会超时。该超时用于空闲连接。绝对保持连接......没有理由断开连接和重新连接的开销。在任何情况下,在数据库故障时,由于您的脚本作为守护程序运行,您可能不希望立即终止该进程。

我建议处理异常并重新连接。如果您的重新连接失败,请再次尝试再退一段时间。在一些失败之后(无论什么是合适的),你可能会在那个时候杀死这个过程,因为可能会破坏需要人为干预的事情。