web-dev-qa-db-ja.com

複数の(そして異なる)cron?

通常のプロダクションWebistでは、crontabを介して実行する必要がある多くのタスクがありますが、これらすべてのタスクをすべてのタスクで実行したくないcron。

たとえば、私は持っていたいです:

  1. 1日1回実行される「通常の」メンテナンス(更新チェックなど)のためのcron
  2. 15分ごとに実行されるB cron(simplenewsからのニュースレターを送信するため)
  3. 1日2回実行されるC cron。ビュー(jsonビュー)からデータをプルし、サーバーにjsonファイルを書き込みます(リアルタイムの同期化を必要としない大量のデータを含むジオマッピングサービスの場合)。

実際、私は15分ごとに実行ごとにA、B、Cタスクを実行する独自のcronを持っています。だから私はbootstrap drupal、1つはメールを送信し、もう1つはジオマッピングファイルをキャッシュする2つのphpスクリプトを作成しました。それは動作しますが、かなりです)マニュアル私があまり好きではない方法。

異なるcronを設定し、すべてのモジュールhook_cronを取得して、それらを特定のcronに割り当てるonlyのベストプラクティスは何ですか?

11
Strae

そのためのモジュールがあります(tm):

http://drupal.org/project/elysia_cron

詳細については、 http://2bits.com/drupal-performance/improving-performance-drupals-cron-using-elysia-cron-module.html を参照してください。

13
Berdir