1. 程式人生 > >關於quarz的使用中出現了開發環境下正常執行,測試環境(LINUX - Ubutu15.4)使用異常的情況

關於quarz的使用中出現了開發環境下正常執行,測試環境(LINUX - Ubutu15.4)使用異常的情況

開發中使用了spring和quarz結合的方式,執行了四個任務,兩個流量資料同步,日同步每天0點同步資料,每小時的資料存放在redis裡,供頁面使用。另外兩個任務負責同步squid的日誌到第三方日誌伺服器,一個每30秒檢測一次日誌狀態,日誌檔案大於10M或者0點以後未同步資料就會開始使用我編寫的python指令碼通過rsyslog服務傳遞日誌。解鎖標識每天12點更新。

在開發環境中所有任務都正常執行,於是移到了測試環境中進行測試,發現只有小時資料同步和檢測日誌狀態任務會正常執行,於是重新檢測cron表示式,發現並沒有問題。又取消了懶式載入,仍然不生效。又將任務更改為每1分鐘執行一次,發現就可以執行了。原來初步判定是cron小時位的表示式不被Ubuntu識別,後來在程式碼中加入了時間輸出測試了一下,發現時間對不上。因為之前使用ntp服務同步過時間,執行時也一直在使用date

命令看伺服器時間,並無異常。仔細想了一下,可能是jvm的時間有異常,查看了/etc/timezone的資訊。果然時區是US,所以一開始quartz的cron表示式就生效了,只是jvm的時區是US,時間沒到不執行。將檔案裡的資訊改為Asia/Shanghai,程式正常執行,問題解決。