为多个用户每隔x个时间执行php功能

时间:2013-03-04 12:42:17

标签: php

得到了这段代码:

<?php
function test ($url){
$starttime = microtime(true);
$valid = @fsockopen($url, 80, $errno, $errstr, 30);
$stoptime = microtime(true);
echo (round(($stoptime-$starttime)*1000)).' ms.';

if (!$valid) {
   echo "Status - Failure";
} else {
   echo "Status - Success";
}
}
    test('google.com');
?>

我想有一个选项,每隔5分钟/ 1小时/ 1天等执行此功能。我被建议使用cron,但我在做一些研究之前和之后从未听说过cron我知道它是一个独立的文件,将每隔x个时间执行该函数。如果我有多个用户怎么办,例如userA希望每5分钟运行一次脚本,而userB希望每小时运行一次脚本。在这个sittuation我需要为每个用户创建多个cron文件?

编辑: 我正在考虑做这样的事情:

for ($i = 0; $i < 100; $i++) { 
    test('google.com');
    sleep(10 * 60); 
}

只有在睡眠行中,我才会拥有每个用户自己定义的自定义$ n字段。我的问题是 - 它只在完整周期完成后返回结果,我希望它在每次“回合”之后返回结果? (idk是什么叫它,但基本上会给1个值,然后10分钟后第2个值等等。)

2 个答案:

答案 0 :(得分:2)

我找到的唯一方法是使用ajax方法,该方法将在setTimeout中从用户页面调用。 请参阅:settimeout function

答案 1 :(得分:0)

根据服务器上的操作系统,您可能需要使用cron(UNIX)或Windows任务(Microsoft)。

Cron

Windows Task

问候,