我們本地數據庫data_account表大概有個2W個賬號,其中賬號有個認證狀態(tài),和使用數據量需要同步第三方數據(分別叫做接口A和接口B),現在我需要每1分鐘都去同步這2W個賬號的認證狀態(tài)和對應賬號的數據使用量,然后更新數據到本地mysql數據表。第三方有限制并發(fā)請求不能超過50。
百度了一圈,都是建議用Go之類的,因為不懂Go,然后大概用了下別人python代碼(每次并發(fā)50),發(fā)現老是出現:2013 (HY000): Lost connection to MySQL server during query,用了連接池也沒解決。所以問問workerman是否有相關實現方案。
開消費隊列去請求就好了,不能超過50并發(fā)的話?那你這樣一分鐘查不完2W個賬戶的信息吧
python連接數據庫確實容易出現2013錯誤。
建議解決方法一:
連接數據庫后所有請求都用這一個connect。不同的請求使用不同的cursor。
建議解決方法二:
使用python的asyncio協程+aiomysql效果比pymysql好一些,高并發(fā)數據請求現在基本上都會用asynciod的。但學習成本比threading大。
建議解決方法三:
使用php連接數據庫,python直接訪問該php做成的簡易接口。從而實現查詢和更新mysql,效果比python直連MySQL穩(wěn)定許多。