0

vBulletinなどのスクリプトはどのようにしてcronジョブなしで定期的なメンテナンスジョブを起動しますか?たとえば、vBulletinはスレッドビュー数をリアルタイムで更新せず、ドキュメントによると1時間ごとにのみ更新します。ただし、これを行うためにcronジョブを使用しないので、どのように実行しますか?

私のサイトの1つで同様のことをしたいのですが、彼らがこの魔法をどのように行うのかわからないので、私は尋ねます。

4

2 に答える 2

3

ページの読み込みとタイムスタンプを使用していると思います。つまり、フォーラムがページビューを受信するたびに、現在の時刻を次にスケジュールされているジョブの時刻と照合します。現在の時刻が>=スケジュールされた時刻の場合、ジョブが実行されます。

もちろん、これの欠点は、フォーラムが多くのページビューを取得しない場合、特定の時間にジョブが実行されることを保証できないことです。精度は、フォーラムでのアクティビティに直接関係しています。

于 2012-10-13T18:30:30.237 に答える
2

@Mitzimotoは正しいです。https://www.vbulletin.com/docs/html/scheduled_tasks_intro

vBulletinのスケジュールされたタスクシステムは、Windows®のcronやスケジュールされたタスクのようにサーバー上で常に実行されるわけではありません。ユーザーがボードを閲覧するとタスクが自動的に実行されるため、特定の時間にボードにトラフィックがない場合、実行するようにスケジュールされたタスクは後で実行されます。ボードがオフになっている場合、vBulletinのスケジュールされたタスクも実行されません。

于 2012-10-13T18:50:42.037 に答える