重置计时器每次访问

时间:2019-01-10 10:19:37

标签: php

我正在开发一个在服务器上运行并跟踪本地程序访问的程序。

每次该程序在本地访问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);
}

有人可以给我一个解决该问题的想法吗?非常感谢你!

0 个答案:

没有答案