我正在开发一个在服务器上运行并跟踪本地程序访问的程序。
每次该程序在本地访问URI时,该程序在正在运行的服务器中都需要重新启动脚本。如果该程序在一段时间内未访问URI,则该程序应发送一封电子邮件,通知该本地计算机中的程序可能已停止。我尝试使用sleep(),但似乎每次访问都会生成脚本的新处理,并且在睡眠结束时,脚本将并行运行。我需要停止先前的处理,然后继续进行其他处理!遵循我的代码:
在每次访问时,此函数称为:
AtivarTimerDeAlerta($pm);
作为启动计时器并调用计时器运行后发送邮件的回调的函数:
function AtivarTimerDeAlerta($pm, $tempo=TEMPO_TIMER)
{
Timer($tempo,"EnviarEmailDeAlerta",array($pm));//reinicializa o timer.
}
function Timer($minutos=TEMPO_TIMER, $callback="", $params=array())
{
sleep(60*$minutos);
$p = count($params)>1 ? implode(",",$params) : count($params)==1 ? $params[0]:"";
return $callback($p);
}
有人可以给我一个解决该问题的想法吗?非常感谢你!