多進(jìn)程處理任務(wù),但每個(gè)任務(wù)涉及的數(shù)據(jù)庫可能不一樣(多租戶),怎么維護(hù)數(shù)據(jù)連接呢
目的是開多個(gè)worker進(jìn)程處理不同租戶的異步任務(wù)
最大總連接數(shù) = 進(jìn)程數(shù)量 * 租戶數(shù)量
租戶有1000,進(jìn)程10個(gè),那么每個(gè)進(jìn)程維護(hù)的數(shù)量就是1萬
用 https://github.com/illuminate/database 或者 https://www.kancloud.cn/manual/think-orm/1257998 ,他們都支持多數(shù)據(jù)庫啊。
比如thinkorm,使用使用哪個(gè)數(shù)據(jù)庫就直接調(diào)用 Db::connect('db1')->table('table1')->where()....
;
數(shù)據(jù)初始化放在onWorkerStart里調(diào)用 Db::setConfig(config('thinkorm'));
。
我覺得你可以直接用webman http://wtbis.cn/doc/webman ,隊(duì)列任務(wù)、多數(shù)據(jù)庫都有文檔,直接用