0

私は、さまざまなホストのユーザーに配布されるオープンソース アプリに取り組んでいます。これらのホストの中には、何らかの理由で cron ジョブが無効になっているものがあります。

個人的には、CPUを大量に消費usleep(X)するという話ばかりが飛び交う中、cron の代わりにループで使用を終了しないスクリプトを用意するのはばかげた考えだと思います。usleep()しかし、これは私が完全に確信していないものです。

cron ジョブの代わりにこのようなものを使用してもよろしいでしょうか? そうでない場合、他にどこを見ればよいですか?

4

1 に答える 1

1

PHPのusleepを使用して偽のcronジョブを作成するのがどれほど良いかはわかりません(そして、usleepのPHPページを読むと、コメントは、スリープ中にCPUを占有しないように聞こえます) 。ただし、別の方法があります。

このcronジョブはどのくらいタイムリーである必要がありますか?あなたができることは、ウェブページのに以下を追加することです<head>

<script type="text/javascript" src="cron.js" defer="defer"></script>

cron.jsは次のようになります。

(new Image()).src = 'cron.php?' + (new Date).getTime();

これにより、ページの読み込みが完了すると画像が読み込まれます(画像はcron.phpであるため、キャッシュを防ぐためにgetTimeを追加します)。cron.phpファイルは、その時点で実行する必要のあるタスクがあれば、それを実行します。次に、画像(おそらく空の透明なピクセル)を出力します。

Webサイトが十分なヒットを獲得した場合、cronをタイムリーなスケジュールで実行する必要がある場合でも、これは実行可能である可能性があります。

また、テーブルがある場合、またはタスクを実行する必要があるかどうかを判断する他の方法がある場合は、ドキュメントのcron.jsファイルを含める前に、cronを実行する必要があるかどうかを確認でき<head>ます。

于 2012-06-03T23:44:10.787 に答える