WAMPのようなローカルサーバーでcronジョブをテストする方法は?
HTMLページを作成し、ブラウザで開くことができます。 javascript setInterval関数は、指定された期間を呼び出します。
これを行うためのコードは次のとおりです。間隔を指定します(5000秒など、5秒ごとに実行されます)
<html>
<head>
<title>Cron</title>
</head>
<script type="text/javascript" src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.1/jquery.min.js"></script>
<body>
<h1>Cron page</h1>
<script type="text/javascript">
setInterval(function(){
$.get('http://localhost/test/test.php', function(data) {
console.log(data);
});
}, 5000);
</script>
</body>
</html>
注:CORSを回避するには、同じホストからajaxを呼び出すか、サーバー側からCORSを許可する必要があります。
スクリプトはURLから直接実行できます。つまり、cron設定からcron_test.phpスクリプトを実行し、その結果をテストしたい場合は、 http://)のようにローカルホストからこのファイルを直接実行できます。 localhost/XXXX/cron_test.php 。
Cronをインストールします(はい、それは Windowsで利用可能 です)。
しかし、私はWindowsでそれをしたくありません。おそらく、VirtualBoxのコピーを入手して、開発を行うために本番環境によく似たものを作成する方がよいでしょう。
これを実行できます:
_set_time_limit(0);
ignore_user_abort(true);
while (1)
{
//your code here....
sleep($timetowait);
}
_
ブラウザを閉じると、スクリプトが続行されます
set_time_limit(0);
スクリプトを時間制限なしで機能させる
sleep($timetowait);
while()の次のループを実行する前に待機する時間を決定します
ignore_user_abort(true);
ブラウザを閉じてもスクリプトを続行します
while(1)
は無限ループであるため、wampを終了するまで停止しません。
コマンドラインからジョブを実行するだけです。 cron自体ではなく、テストしたいジョブです。 cronをシミュレートするために定期的に実行する必要がある場合は、Windowsの「スケジュールされたタスク」機能を使用してください。
Windows環境で1行だけでジョブをcronできます。私はほぼ5時間過ごしたので、他の人と共有したいのは仕事をすることです。
-f c:\wamp\www\foo\foo.php
引数でこれで完了です。何もインストールする必要はありません。
<meta http-equiv="refresh" content="0; url=http://localhost/myproject/cron.php" />
メタレフェッシュをすぐに設定します。コンテンツ= 0(5秒ごと):コンテンツ= 5