これは cronjob スクリプトです。cronjob は毎分実行されています。
cronjob は、データベース内の live-counter フィールドを更新することです。
私は2回とカウントリミッターを持っています:
start: 2012-08-29 09:55:00
end: 2012-08-29 19:00:00
limit: 5000
指定された開始日、終了日、および制限から、システムにこの実行のカウンターに追加する数値を計算させるにはどうすればよいですか?
したがって、終了日が過ぎると、カウンターは入力された制限と同じ大きさになるはずです
例、今私はこれを手に入れました:
if ( $setting['limit'] > $setting['counter'] )
{
$rand = rand(5, 300);
DB::update('settings')
->set(array('counter' => DB::expr('counter+ '.$rand)))
->where('id', '=', $setting['id'])
->execute();
}
これにより、5 から 300 までの数値が得られ、スクリプトの更新/実行ごとにカウンターが追加されます。
これにより、カウンターが制限に達しない可能性が高くなります。たとえば、開始日と終了日が互いに近く、ランダム値が 100 未満の場合、制限 5000 に到達する方法はありません。
では、開始日と終了日、制限、および現在のカウントに基づいて、カウンターに追加する正しい比率をシステムに計算させるにはどうすればよいでしょうか?