我遇到了一個情況,即我的Grails應用程序中的某個作業在沒有任何明確原因的情況下停止運行。沒有異常拋出。我們正在使用Grails 2.2.3和Quartz2插件。有趣的是,所有其他的工作繼續運行;只有一個特定的工作會一次又一次地凍結。這項工作調用了第三方REST API調用,有時會給出非常延遲的響應,在少數情況下也沒有響應。所有的工作都是併發=假。有人能指引我走向正確的方向嗎?我一直在努力解決這個問題已經兩天了。很少有我嘗試過的東西:Grails Quartz2作業隨機停止
- 更改/簡化作業處理任務的執行情況。該工作仍然會進行REST API調用。有時候的響應時間非常長(最多20分鐘),在少數情況下我們面臨ConnectionTimeOut異常。
- 啓用石英測井。作業凍結並且日誌記錄不會給出任何錯誤消息。
- 安裝Grails石英顯示器插件。我們已將它內聯並調整爲使用Quartz2插件運行。它只是顯示通常的石英/列表。
尚未能夠解決問題,並且現在已經沒有想法了。是否有人遇到過這種情況,並有一些提示可供分享。謝謝。
注意:現在我們已經刪除了對第三方REST API的調用,該調用需要很長時間才能查看作業是否長時間運行良好。我想服務器有時會殺死那些花費太長時間或定期超時的進程。
一些額外的細節會有幫助。通過策略1,您是否嘗試不再進行REST呼叫?如果是這樣,這項工作是否仍然停止?另外,你有併發=假集?如果你想做的工作沒有完成,那麼在這種情況下工作不會再次開始。另外,當您使用顯示器時,作業是否正在運行,而不是被正確觸發或完全停止? Monitor插件是否支持Quartz2?從文檔它只提到了常規的Quartz插件。 – derdc
我已經編輯了關於derdc查詢的問題。 – issprof
它看起來類似於http://stackoverflow.com/questions/618265/quartz-scheduler-suddenly-stop-running-and-no-exception-error –