各位大佬,因為現在go是集群模式,有n臺服務器,這樣實作同一時間定時任務只在一臺上執行,基于web開發的
uj5u.com熱心網友回復:
有好幾種方案1.只有一臺服務器啟動定時任務(其他服務器不啟動定時任務)
2.通過環境變數控制是否啟動定時服務器(go讀取環境變數,只有一臺服務器的環境變數是啟動定時服務,其他服務器的環境變數為不啟動定時服務)
3.如果用的是同一個資料庫,可以通過鎖表記錄來控制
4.和3類似,不直接鎖表,而是向某中心服務申請執行任務,某中心服務一旦有重復申請就拒絕執行任務
等等
uj5u.com熱心網友回復:
有沒有什么中間件可以直接支持的,這些方法我們都用不了
uj5u.com熱心網友回復:
用etcd解決uj5u.com熱心網友回復:
go cron轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/34917.html
標籤:go語言
上一篇:SSL do_handshake() 例外 OpenSSL.SSL.SysCallError: (104, 'ECONNRESET') 如何解決
