延迟执行时间

时间:2013-11-07 13:19:04

标签: php time delay

我有一个小问题,我无法理解。 : - )

我正在寻找解决问题的解决方案或提示。

旧版本代码的(部分)如下所示:

$oMainsite->checktime(); // In the main program

public function checktime(){
    $timeset = $_SESSION['timeset'];

    if ($_SESSION['timeset'] == ''){
        $_SESSION['timeset'] = date('H:i', strtotime("+5   min"));
    } else { 
        $timeset = $_SESSION['timeset'];
    }

    $arr_tijd = getdate();
    $uren = $arr_tijd["hours"];

    if ($uren < 10){
        $uren = 0; $uren .= $arr_tijd["hours"];
    }

    $minuten .= $arr_tijd["minutes"];

    if ($minuten < 10){
        $minuten = 0; $minuten .= $arr_tijd["minutes"];
    }

    $tijd = $uren;
    $tijd .= ":";
    $tijd .= $minuten;

    if($timeset <= $tijd){
        generate_question();
    }
}

部分函数生成question()如下:

........
$timedelay = rand(3,10);  
$_SESSION['timeset'] = date('H:i', strtotime("+".$timedelay." min"));
.........
// Display question

在主程序中,函数checktime()仅在刷新页面时执行。但是如果没有用户输入,那么该站点将保持空闲状态,因为checktime()以及&#39; Generate_question()&#39;功能永远不会执行。

即使网站空闲,有没有办法执行Checktime()?或者我必须以不同的方式处理这个问题? 任何帮助表示赞赏。

2 个答案:

答案 0 :(得分:0)

  

即使网站空闲,有没有办法执行Checktime()?或者我必须以不同的方式处理这个问题?任何帮助表示赞赏。

是的,这是众所周知的技术。评论中的Mike建议您使用 cron job 。他应该把它作为答案发布,因为链接比我的帖子更有用。

在Linux / BSD上,cron是一个以预定义的间隔运行的程序,你可以指定一个任务,每年运行一次,每分钟运行一次,或者每4小时运行一次,等等......

在Windows系统上,您可能会将其作为计划任务进行控制,但我不是Windows服务器的专家。

在大型机上,您要么知道自己在做什么,要么甚至不应该触摸该系统。

答案 1 :(得分:0)

如果你在论坛上写下来,它会是多么简单: - )

要使页面重新加载或刷新,我们必须在head标记

中使用以下代码
<meta http-equiv="refresh" content="5" >

属性http-equiv =“refresh”调用刷新页面。

属性content =“5”设置刷新的时间。

使用content属性设置页面必须重新加载的时间。 假设您希望页面在10秒间隔后刷新,请将内容值设置为10.

我们建议刷新时间[重新加载间隔]超过5秒。这是因为您必须考虑页面加载时间。

谢谢大家的贡献。

相关问题