Options () : minval (0), maxval (1) { setMinId ("min"); setMaxId ("max"); addOption ("min", &minval, 1, SSI_REAL, "minimum value (lower range)"); addOption ("max", &maxval, 1, SSI_REAL, "maximum value (upper range)"); addOption ("minid", minid, SSI_MAX_CHAR, SSI_CHAR, "name of minimum tuple value"); addOption ("maxid", maxid, SSI_MAX_CHAR, SSI_CHAR, "name of maximum tuple value"); };
void StatusCacheManagerI::initialize() { MCE_INFO("StatusCacheManagerI::initialize -> start ..."); //queue_.setProps(10000); //start(); try { int large_id = 0; do { Statement sql; sql << "SELECT id, status FROM user_passport WHERE id > " << getMaxId() << " LIMIT 10000"; map<int, int> db_data; com::xiaonei::xce::QueryRunner("user_passport_status",com::xiaonei::xce::CDbRServer ).query( sql, StatusCacheResultHandler( large_id, db_data ) ); { for (map<int, int>::const_iterator it = db_data.begin(); it != db_data.end(); ++it) { if (it->second == 0 || it->second == 3) { _status.reset(it->first); } } } if (large_id > getMaxId()) { setMaxId(large_id); } else { setMaxId(STATUS_CACHE_SIZE); break; } MCE_INFO("StatusCacheManagerI::initialize -> initializing to " << large_id); } while (true); } catch (...) { MCE_WARN("StatusCacheManagerI::initialize -> loading exit with unknown exception."); } MCE_INFO("StatusCacheManagerI::initialize -> thread loading done."); { IceUtil::RWRecMutex::WLock lock(_inited_flag_mutex); _inited_flag = true; } MCE_INFO("StatusCacheManagerI::initialize -> thread all done."); }