Quartz2 プラグインを使用する GRAILS の単純なアプリケーションがあります。ジョブファイルには次のものがあります。
static triggers = {
simple repeatCount: 0 // execute job once in 5 seconds
cron cronExpression: '0 15 2 * * ?'
}
def execute() {
if (Environment.current == Environment.PRODUCTION)
do something...
}
この場合、すべてが正常に機能します。本番環境にない場合、トリガーは無視されます。質問は簡単です。プロダクションでアプリケーションを起動すると、grails が起動するとすぐにジョブが開始されます。アプリが起動するとすぐにジョブが実行されるのを避けたいのですが、cronExpression で正しく設定されている場合に限ります。
何か案が?
更新: 最後に、次の行を config.groovy に入れました。
environments {
development {
grails.logging.jul.usebridge = true
grails.plugin.quartz2.autoStartup = false
}
production {
grails.logging.jul.usebridge = false
}
}
今はブートストラップから始めていないようです。さらにいくつかのテストを行う必要があります。お知らせします。
ありがとうございました
更新 2: スケジュールがまったく開始されません。スケジュールが開始されることを期待していましたが、スケジュールされたジョブを実行せず、適切なタイミングでトリガーするのを待ちます。何か助けはありますか?
どうもありがとう
更新 3: 申し訳ありませんが、起動時に単純な repeatCount:0 の発火を 1 回追加するので、完全に機能することを削除して、もう一度申し訳ありません。