0

このコードを取得しました:

<?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が1時間ごとにスクリプトを実行したい場合など、複数のユーザーがいる場合はどうなりますか。この状況では、ユーザーごとに複数のcronファイルを作成する必要がありますか?

編集:私はこのようなことをすることを考えていました:

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

スリープラインでのみ、各ユーザーが自分で定義するカスタム$nフィールドがあります。これに関する私の問題は、完全なサイクルが終了したときにのみ結果を返すということでした。「ラウンド」ごとに結果を返したいと思いますか?(それが呼ばれるものをidkしますが、基本的に1つの値を与え、10分後に2番目の値を与えます)。

4

2 に答える 2

2

私が見つけた唯一の方法は、setTimeout内のユーザーページから呼び出されるajaxメソッドを使用することです。参照:settimeout関数

于 2013-03-04T12:44:04.797 に答える
0

サーバーのOSに応じて、cron(UNIX)またはWindowsタスク(Microsoft)を使用する必要がある場合があります。

cron

Windowsタスク

ご挨拶、

于 2013-03-04T12:56:15.863 に答える