久久久久av_欧美日韩一区二区在线_国产精品三区四区_日韩中字在线

返回列表 發帖
查看: 1338|回復: 1

[已處理] Discuz!X3.5 計劃任務好像會被同時多次執行

2

主題

3

回帖

11

積分

初學乍練

貢獻
0 點
金幣
5 個
樓主
發表于 2023-12-30 16:53:18 | 只看樓主 |倒序瀏覽 |閱讀模式
BUG反饋
程序版本: X3.5
瀏覽器: 其他(請在帖子中詳細說明瀏覽器) 
BUG地址: 隱藏內容
BUG截圖: -
測試用戶名: 隱藏內容
測試密碼: 隱藏內容
升級Discuz! 3.5 后,原來自己寫的一個定時采集插入任務出現一條記錄多次寫入的問題,在計劃任務里用了插入前檢查數據是否已經存在,問題依舊。

通過云數據庫的審查系統,發現SQL插入語句幾乎是同一時間插入,下面是三次SQL語句的執行時間記錄:
2023-12-30 10:50:12.605010662
2023-12-30 10:50:12.608494518       
2023-12-30 10:50:12.581170947

于是改在MySQL表里加入多字段唯一性索引,并修改SQL語句加入 DUPLICATE KEY UPDATE ,重復插入問題才得意解決。

但是,很快,云數據庫的審查系統就報警了,其內容為:

Info :Waiting for table metadata lock 會話ID:11171212
  1. DELETE FROM pre_common_process WHERE processid='DZ_CRON_15' OR expiry<1703919601
復制代碼
Info :Waiting for table metadata lock  會話ID:11171213
  1. DELETE FROM pre_common_process WHERE processid='DZ_CRON_15' OR expiry<1703919601
復制代碼


以上信息雖然一致,但是會話是兩個會話,說明該計劃任務的執行語句又在同一時間運行了兩次。

根據一段時間的測試,X3.5 有以上問題,而同樣的采集計劃任務,在X3.4 情況下已正常運行一年半,均未發生過類似問題。

懷疑計劃任務被多個程序同時引用造成同一時間被執行多次,且執行次數隨機,少則2次,多則10余次。
1 貢獻

最佳答案

計劃任務是依賴于程序被訪問,如果你的任務時間長,并發了就會這樣
回復

使用道具 舉報

39

主題

2874

回帖

4919

積分

應用開發者

Discuz! 運維

貢獻
181 點
金幣
661 個
QQ
沙發
發表于 2024-1-3 09:21:23 | 只看Ta
計劃任務是依賴于程序被訪問,如果你的任務時間長,并發了就會這樣
回復

使用道具 舉報

您需要登錄后才可以回帖 登錄 | 立即注冊

本版積分規則

  • 關注公眾號
  • 有償服務微信
  • 有償服務QQ

手機版|小黑屋|Discuz! 官方交流社區 ( 皖ICP備16010102號 |皖公網安備34010302002376號 )|網站地圖|star

GMT+8, 2025-7-5 11:57 , Processed in 0.048492 second(s), 14 queries , Redis On.

Powered by Discuz! W1.0 Licensed

Cpoyright © 2001-2025 Discuz! Team.

關燈 在本版發帖
有償服務QQ
有償服務微信
返回頂部
快速回復 返回頂部 返回列表