Php 使脚本每分钟只记录一次,但每秒运行一次

Php 使脚本每分钟只记录一次,但每秒运行一次,php,timer,daemon,Php,Timer,Daemon,我有一个php脚本,它每秒钟检查一次数据库(ish不是100%重要的秒数),并将输出写入json文件以用于字幕系统。这有一个成功日志文件 我也要记录安静的时刻 每次运行时,我都用“.”记录到最后一行 2012-06-18 10:45:51 UTC | ......................... 这可能导致很长的线路,可能会破坏未来的日志检查系统 所以我把它改成每5分钟一行 // 2012-06-18 10:45:51 UTC | wait. if ((int) date('i') %

我有一个php脚本,它每秒钟检查一次数据库(ish不是100%重要的秒数),并将输出写入json文件以用于字幕系统。这有一个成功日志文件

我也要记录安静的时刻

每次运行时,我都用“.”记录到最后一行

2012-06-18 10:45:51 UTC | .........................
这可能导致很长的线路,可能会破坏未来的日志检查系统

所以我把它改成每5分钟一行

// 2012-06-18 10:45:51 UTC | wait.
if ((int) date('i') % 5 == 0) 
{
log ( $date . ' | wait. ' );
}
但它每秒钟/每5分钟的迭代记录一次。我可以添加秒数,但它并不总是每01秒运行一次


是否有一种n次记录一次的方法?

您可以让脚本在上次运行时写入辅助临时文件。然后在下一次执行时,它可以加载该值,计算与当前时间和存储值的差值,如果大于N,则将您的条目记录到日志文件中。

我想一个次要问题是,记录脚本运行的频率有多高,以便回顾任何中断?也许像unix top命令那样的平均5分钟/10分钟/60分钟的总和比每秒一个“是”的流更好…如果每小时运行一次,您是否能够准确地检查停机。每秒一次似乎很合理。它不应该占用太多资源。当你使用睡眠方法时,它不起作用吗?=>睡眠(5*60);我在想一些类似的东西,比如它是一个命令行脚本,而不是一个网页,我认为我不能完成会话。我可以将下一个日志间隔写入文件,并将日志更新写入日志。然后检查文件直到下一个间隔为真,记录并更新到下一个间隔。