Ejemplo n.º 1
0
 /**
  * 测试分区
  */
 function actionTestSec()
 {
     $is_test = self::getParam('is_test');
     $section_list = array_keys(getApp()->getSectionConfig());
     $status = "ok";
     $msg = '';
     $result = array();
     try {
         foreach ($section_list as $value) {
             $mc = new PL_Db_Mongo(DbConfig::getSecMongodb("users", $value));
             $mc->switchColl($value . "_users");
             $fields = array("_id", "level", "exp", "_it", "init_time");
             $cond = array();
             $user = $mc->findOne($cond, $fields);
             $result[$value] = $user;
             if (empty($user)) {
                 $status = 1001;
                 $msg .= "{$value区未查找到用户信息}<br />";
                 //$status = "error";
             }
         }
         echo $status;
         if ($is_test) {
             echo "<pre>";
             echo $msg;
             echo "user data:<br/>";
             var_dump($result);
         }
     } catch (Exception $ex) {
         $status = "error";
         echo $status;
         echo "<pre>";
         echo $msg;
         echo "user data:<br/>";
         var_dump($result);
         var_dump($ex);
     }
 }
Ejemplo n.º 2
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";
         }
     }
 }