quartz 本地有效,線上失效的問題

2021-10-09 21:08:49 字數 708 閱讀 9075

最近開了乙個新專案,spring boot 整合了quartz,出現了乙個問題,就是當專案連線到本地電腦的資料庫時,一切正常。但是當專案連線遠端linux上的資料庫的時候,發現定時任務不靈了,也不是不執行,比如手動執行一次這個操作,點一下沒反應,再點一下,卻執行兩次。

看了下原始碼,整個手動執行一次的邏輯是這樣的:

1、當頁面點執行一次,後台qrtz_triggers表會插入一條新記錄,代表馬上要執行了

2、在org.quartz.core.quartzschedulerthread#run方法中,有個查詢triggers的方法:

triggers = qsrsrcs.getjobstore().acquirenexttriggers…

3、查到trigger後,就去執行,完了再刪掉那條新記錄

現在的問題是在第二步,查詢triggers的時候,換成本地資料庫,就能查出來,換成遠端資料庫,就查不出來了(也不是一直查不出來,連續點兩次,就能查出來了,這個才是最詭異的地方)

既然是這個情況,首先排除**問題,因為很明顯就是因為資料庫不一樣引起的問題。

一開始還以為是因為本地資料庫只有乙個服務在連,而遠端資料庫,可能有多個同事在用,所以會有影響。

但是在更換多個資料庫後發現,只要是遠端資料庫,都會出現這種詭異現象。

根本問題這個沒有解決,因為上面是測試環境,部署到線上環境的時候,這個問題又消失了,一切正常。等有時間了,還是要看看,總感覺沒找到問題所在。

關於quartz任務全部停止 都不執行的問題

問題發生環境 1.通過繼承job執行quartz任務 2.大概有30多個quartz任務 問題發生現象 1.所有任務日誌均無輸出,似乎都停止了 問題發生原因 1.這30多個任務中,有乙個任務 job 1 在執行時處理過慢,發生了阻塞。2.因為是通過繼承job執行quartz任務,到了設定的時間間隔後...

mybatisPlus的切換資料來源失效問題。

使用mybatisplu的動態切換資料來源時,遇到無法切換的問題 原因是具體操作的服務呼叫的是非同步執行緒 mp的切換資料來源資訊是放在threadlocal中去儲存的,如果切換了執行緒,那麼就取不到資料來源資訊的內容,導致無法切換資料來源的問題 對於這種情況,如果非同步有存在的必要性 那麼可以將這...

wordpress頁面變形和鏈結失效的問題解決

1 二級頁面鏈結失效 原因是我在固定鏈結裡面,把index.php給去掉了,而我的部落格因為在windows伺服器下,好像不支援這樣修改,所以導致了404錯誤,在網上,我找到的解決辦法是 1,新建乙個記事本檔案,寫入以下 並儲存,連同.txt格式重新命名為404.php qs server quer...