私はphpのサイトで作業しています。アルゴリズムで定義された時間にcronジョブを送信することは可能ですか?このような機能をコンソールに追加したり、phpスクリプトから送信したりできますか?cronはまだ使用していません。
質問する
205 次
3 に答える
2
最初に頭に浮かぶのは、残りのジョブを実行するかどうかを確認するために、乱数を生成する php スクリプトを使用して毎分 cron ジョブを実行することです。crontab のこの行は、毎分 cron ジョブを実行します (パスを自分のものに置き換えます)
*/1 * * * * /usr/bin/php /path/to/job.php
または、php を直接呼び出すことができない場合は、そのように curl または wget を使用できます。
*/1 * * * * /usr/bin/curl --silent --compressed http://yoursite.com/job.php
そして、あなたのphpファイルで、次のように、残りのジョブを実行する時が来たかどうかを確認したいことを何でもしてください:
if(rand(1, 60)==1)
{
include 'the_actual_job.php';
}
于 2012-05-22T00:48:55.960 に答える
1
特定の時間にジョブをスケジュールしたい場合は、「cron」の友人「at」を使用できます。これは、要求された時間にスクリプトをスケジュールします。
次のようなコマンドを実行するだけです。
$reqtime = '17.00'
system('at -f yourscript.sh ' . $reqtime);
そして、yourscript.sh は今日の 17 時に魔法のように実行されます
于 2012-05-22T01:29:07.827 に答える
1
たとえば、PHP スクリプトを 1 時間ごとに実行するように設定します。次に、このコードをスクリプトの先頭に追加します
sleep(rand(1, 60));
これで、スクリプトは 1 時間 + 数秒ごとに実行されます。それはランダムです:)
于 2012-05-22T00:56:28.450 に答える