Exemplo n.º 1
0
 public function action_check_sec_user_snap()
 {
     $date = $this->get_param('date');
     if (!$date) {
         $date = date('Ymd', time());
     }
     $file_name = P_PLATFORM . "_" . $date . "_usersnap.php";
     $snap = (include $file_name);
     foreach ($snap['user'] as $sec => $user_data) {
         $uid = $user_data['_id'];
         $um = new model_User($uid, $sec);
         $ud = $um->get();
         $login_t = $ud['login_t'];
         if (count($user_data) !== count($ud) || count(array_diff((array) $ud, (array) $user_data)) != 0) {
             echo "sec = {$sec}, uid = {$uid} 数据不一致!\n";
         } else {
             echo "sec = {$sec}, uid = {$uid}, login_t = " . date('Y-m-d H:i:s', $login_t) . "\n";
         }
     }
     foreach ($snap['count'] as $sec => $count) {
         $sec_user_db = new PL_Db_Mongo(DbConfig::getSecMongodb("users", $sec));
         $sec_user_db->switchColl("{$sec}_users");
         $get_count = $sec_user_db->count(array(), '');
         if ($count !== $get_count) {
             echo "迁移以前分区[{$sec}]总用户数: {$count}, 迁移以后:{$get_count}; 用户数量不一致!\n";
         } else {
             echo "迁移以前分区[{$sec}]总用户数: {$get_count}\n";
         }
     }
 }