void NFCMysqlConnectMgrModule::CheckMysql() { if (mnLastCheckTime + 10 > GetPluginManager()->GetNowTime()) { return; } mnLastCheckTime = GetPluginManager()->GetNowTime(); ////////////////////////////////////////////////////////////////////////// int nServerID = 0; std::vector<int> xIntVec; for (NFIMysqlDriver* pMysqlDriver = mvMysql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvMysql.Next(nServerID)) { if (!pMysqlDriver->Enable()) { xIntVec.push_back(nServerID); mvInvalidMsyql.AddElement(nServerID, pMysqlDriver); } } for (int i = 0; i < xIntVec.size(); ++i) { mvMysql.RemoveElement(xIntVec[i]); } ////////////////////////////////////////////////////////////////////////// xIntVec.clear(); nServerID = 0; for (NFIMysqlDriver* pMysqlDriver = mvInvalidMsyql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvInvalidMsyql.Next(nServerID)) { if (!pMysqlDriver->Enable() && pMysqlDriver->CanReconnect()) { pMysqlDriver->Reconnect(); if (pMysqlDriver->Enable()) { xIntVec.push_back(nServerID); mvMysql.AddElement(nServerID, pMysqlDriver); } } } for (int i = 0; i < xIntVec.size(); ++i) { mvInvalidMsyql.RemoveElement(xIntVec[i]); } }
void NFCMysqlDriverManager::CheckMysql() { ////////////////////////////////////////////////////////////////////////// int nServerID = 0; std::vector<int> xIntVec; for (NFIMysqlDriver* pMysqlDriver = mvMysql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvMysql.Next(nServerID)) { if (!pMysqlDriver->Enable()) { xIntVec.push_back(nServerID); mvInvalidMsyql.AddElement(nServerID, pMysqlDriver); } } for (int i = 0; i < xIntVec.size(); ++i) { mvMysql.RemoveElement(xIntVec[i]); } ////////////////////////////////////////////////////////////////////////// xIntVec.clear(); nServerID = 0; for (NFIMysqlDriver* pMysqlDriver = mvInvalidMsyql.First(nServerID); pMysqlDriver != NULL; pMysqlDriver = mvInvalidMsyql.Next(nServerID)) { if (!pMysqlDriver->Enable() && pMysqlDriver->CanReconnect()) { pMysqlDriver->Reconnect(); if (pMysqlDriver->Enable()) { xIntVec.push_back(nServerID); mvMysql.AddElement(nServerID, pMysqlDriver); } } } for (int i = 0; i < xIntVec.size(); ++i) { mvInvalidMsyql.RemoveElement(xIntVec[i]); } }