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
あれ。かぶった?
- http://trac-hacks.org/wiki/TracSchedulerPlugin <- いや、TracSchedulerPluginの実装はショボすぎ。
- http://trac-hacks.org/wiki/TracCronPlugin <- これけっこういいかも。
使い方
- 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 で時間がかかる処理を実行した場合のケアはしていない。他のジョブに迷惑がかかる。
実装済
- [123]
曜日による起動はまだ正しく実装していない。いまは曜日は1日ずれているし、曜日と月内日はORではなくAND条件となっていて Vixieのcronとは互換性がない。 - [123]
解析エラーの際のエラーハンドリングとエラーメッセージの処理を実装する - [123]
プラグイン側が規定値のcron起動時刻表記を表明できるようにする - [124]
http://trac-hacks.org/wiki/ScheduledWorkflowPlugin をトリガーしてみる- [125]
しまった、adapter.py をコミットしてない
- [125]
- [125]
http://trac-hacks.org/wiki/MailToTracPlugin をトリガーしてみる - [125]
http://trac-hacks.org/wiki/TicketReminderPlugin をトリガーしてみる
Attachments
- crontab.png (32.0 KB) - added by matobaa 4 months ago.
