2009-06-25 4 views
2

私はこのメールスクリプトをいくつか実行する必要があります。 スクリプトを開始するには、cronを使用しますが、スクリプトは2〜3回以上(1時間おきに)実行する必要があります。sleep()またはcronジョブを使用するには

これを行うにはどうすればよいですか? sleepコマンドを1時間またはスクリプトの最後に使用するには、スクリプトを新しいcronジョブを作成して1時間後に実行するようにコードを記述しますか?

おかげ

答えて

7

メモリ内でスクリプトを実行するのにコストを節約しない限り、必要に応じてcronを使用して1時間ごとに呼び出す方がよい場合があります。

0 0-2 * * * /usr/local/bin/mail-script.php 

あなたは使用して複数の時間を選択することができます - 構文、またはカンマ構文:それは保存された状態を保つために一時ファイルを使用して、状態のいくつかのフォームを維持するために必要がある場合

0 0,1,2,3 * * * /usr/local/bin/mail-script.php 

を。

の操作を行います。

> man 5 crontab 

あなたの* nixは、上記のケースを扱うかどうかを確認します。

最後に、に2回だけ実行する必要があることが分かっていない場合は、PHPスクリプト自体で「実行するかしないか」という論理を入れて実行する方がよい毎時間

0

私は、あなたのPHPスクリプトがそれかどうかをチェックし、どのようにとにかく1時間ごとに実行されますcronジョブについては、アプローチ(時間寝て、またはPHPからcronジョブを作成する)が理想的であるどちらかわからないんだけど実行する必要がありますか?

0

なぜ特定の時間に発火するようにcron基準を設定するだけではないのですか? Cronはその面でかなりフレキシブルです。

あなたの質問をあなたが発射したいときに更新し、私は例を挙げることができます。

2

sleep()を使う利点の1つは、移植性が向上することです。たとえば、私が扱っている多くのシステムでは、ユーザーは自分のcronジョブを持つことができません。そのため、独自のタイマーを考慮してプログラムを書くことが利点になります。

(眠るための代替は)SIGALRMを使用している場合があります(ので、あなたのスクリプトが割り込みをキャッチし、一定の間隔でコードを実行 - 。その割り込みがスローされたとき)

私は意味、私はcronのを使用してお勧めします - ここにいくつかの選択肢があります!

関連する問題