wiki:CronPlugin
Last modified 4 months ago Last modified on 01/28/2013 12:39:02 PM

CronPlugin

almost release

cron - daemon to execute scheduled commands
source:/trunk/CronPlugin

あれ。かぶった?

使い方

  • Cronジョブは ICronJobインタフェースを実装したプラグインとして作成する。
  • 1分に1回、runメソッドを実行する。
  • cron表記で起動時刻を指定できる。 admin/cron/crontab 画面で指定する。
  • # で始まる行はコメント扱い。

tho:#3565 とか、tho:#5577 とか、tho:#5620 とか。 tho:#942 「毎週のタスクのチケットを自動生成」は、tho:EmailToTracPlugin アダプタを使って、以下のようなファイルを指し示してやることで実現できる!!

To: trac@localhost
Subject: create: periodic ticket
From: admin@example.com

#owner you
description description description

TODO

  • Walker, MPM など異なる起動環境で期待通り動作することを確認する:
    • プラグインを有効にすると60秒ごとに処理が実行されること
    • プラグインを無効にすると処理を実行しないこと
    • プラグインを再度有効にすると処理が実行されること
    • ポーリング間隔未満で 無効→有効 としたときに1スレッドだけが動作していること
  • apache graceful restart で新旧並走中の挙動を確認する:
  • http://trac-hacks.org/wiki/ClientsPlugin をトリガーしてみる

制限事項

  • tracを起動したあと、いずれかのWebページを表示することでEngineが始動します。
  • project/plugin に格納した場合、trac.ini/component に明示的に enabled と記入する必要があります(記入がないと起動後に空振りして終了します)。

既知の不具合

  • デバッグ用にいまは10秒ごとに起動するようになっているため、期待する回数の6倍の回数動作する。
  • ICronJob.run で時間がかかる処理を実行した場合のケアはしていない。他のジョブに迷惑がかかる。

実装済

Attachments