2014-12-23 28 views
1

我們有2周的Grails應用程序上運行2.2.5由於舊插件一些依賴。兩者都安裝了Quartz,而另一個卻沒有按預期運行。如何調試石英不觸發我的工作 - 石英插件1.0.1/1.0.2和2.2.5的Grails

在調試我已經去除了一切,離開它基本上爲例:

package test 

public class TestJob{ 

    static triggers = { 
     simple startDelay: 60000, repeatInterval: 1000 
    } 

    public def execute(){ 
     log.error "help me" 
    } 

} 

所以沒有什麼了不起,但有愛情,也沒有錢數將不顯示。

如果我運行:

TestJob.triggerNow() 

我得到:

2014-12-23 14:22:27,685 [quartzScheduler_Worker-1] DEBUG listeners.SessionBinderJobListener - Persistence session is opened. 
Error | 
2014-12-23 14:22:27,686 [quartzScheduler_Worker-1] ERROR test.TestJob - help me 

2014-12-23 14:22:27,686 [quartzScheduler_Worker-1] DEBUG listeners.SessionBinderJobListener - Persistence session is flushed 

這是預期,所以我知道,輸出能夠進入日誌流,它不拋出一些沉默的例外。

此外,當我啓動應用程序,我得到以下的輸出:

2014-12-23 14:24:54,282 [localhost-startStop-1] DEBUG quartz.QuartzGrailsPlugin - Scheduled Job Classes count: 2 

所以我知道,調度器接他們,但它只是似乎不執行它們。

從Config.groovy中:

quartz { 
    autoStartup = true 
    jdbcStore = false 
    waitForJobsToCompleteOnShutdown = true 
    exposeSchedulerInRepository = false 

    props { 
     scheduler.skipUpdateCheck = true 
    } 
} 

我已經嘗試運行在其他應用程序2.2.5這份工作,它的執行沒有失敗,所以我實際上是在虧損的問題是什麼,並有不知道如何進一步調試。

我也打開日誌:

trace    'grails.plugins.quartz', 'grails.app.jobs' 

但是,這並沒有真正放棄在輸出的方式很多。

我已經做或通常的清潔和刪除.slcache只是要確定,但我現在敢堅持。

您的建議來幫助調試,將不勝感激。

回答

1

確認您的Config.groovy文件中沒有quartz.autoStartup = false,並將debug 'grails.plugins.quartz.QuartzGrailsPlugin'添加到記錄器中。

希望這會有所幫助!

感謝,
SA

+0

感謝您的幫助。我可以確認autoStartup設置爲true(我已經編輯了我的原始問題以儘可能多地反映)。我已經添加了額外的日誌,但沒有更多的日誌記錄。 –

+0

這是在新鮮的Grails應用程序2.2.5上發生嗎? –

+0

不,它適用於新鮮的2.2.5應用程序以及另一個具有類似配置的2.2.5應用程序。我並不是說Grails或插件存在問題,因爲顯然其他應用程序證明它確實可行,我只是試圖找出如何進一步調試問題。 –