JSON URLからライブスコアを解析するPHPスクリプトがあり、一部のスコアが変更されているかどうかを確認し、別のphpスクリプトを呼び出して通知をIOSデバイスにプッシュします。
私の質問は、最初のスクリプトを 20 秒ごとに実行する方法です。
JSON URLからライブスコアを解析するPHPスクリプトがあり、一部のスコアが変更されているかどうかを確認し、別のphpスクリプトを呼び出して通知をIOSデバイスにプッシュします。
私の質問は、最初のスクリプトを 20 秒ごとに実行する方法です。
使用しているホスト OS によって異なります。Linux/Unix などの場合。タスクのスケジューリングに推奨されるツールはcronです。Windows や Mac などには、他の組み込みスケジューラがあります。
cron を使用して、毎分実行するタスクをスケジュールするには、次のようになります。
* * * * * /path/to/command
ただし、粒度は分までしかないようです。したがって、より詳細なタスク スケジューラがなければ、20 秒の遅延を内部で処理する必要がある場合があります。
1 つのアイデアは、コマンドを実行し、20 秒間スリープし、コマンドを再度実行し、20 秒間スリープし、コマンドを再度実行するスクリプトでタスクをラップすることです。次に、cron ジョブがそのラッピング スクリプトを呼び出します。私のバッシュは少し錆びていますが、アイデアは次のようになります。
/path/to/command
sleep 20
/path/to/command
sleep 20
/path/to/command
$total_time = 0;
$start_time = microtime(true);
while($total_time < 60)//run while less than a minute
{
//DoSomething;
echo $total_time."\n";
sleep(20);//wait amount in seconds
$total_time = microtime(true) - $start_time ;
}
これを cronjob に追加して、毎分実行します。
多分あなたは睡眠を試すことができます
while(1) {
exec('php path/to/script.php');
sleep(20);
}
一般的に、acronjob
はこの種のタスクに最適です。ここでこれを見てください:http
://www.thegeekstuff.com/2011/07/php-cron-job/
それが当てはまらない場合は、PHPCLI用に何かをスクリプト化できるかもしれませんhttp://php.net/無制限のランタイムを可能にするmanual/en/features.commandline.php 。そこにsleep()を含むwhile(true)ループを配置し、次のようなphpコマンドで実行するだけです。> php yourscript.php