Example #1
0
 /**
  * 获取一个自动分配的序号(注册服务器用)
  *
  * @return int|false
  */
 public static function getNewHostId($group = 'default')
 {
     if (!self::$isRegisterServer) {
         throw new \Exception('function Host::getNewHostId() only run by register server.');
     }
     while (true) {
         # 获取一个自增ID
         $id = self::$groupIdTable->incr($group, 'id');
         if (false === $id) {
             return false;
         } else {
             $id--;
             if (self::$table->exist("{$group}_{$id}")) {
                 # 已经存在
                 continue;
             } else {
                 return $id;
             }
         }
     }
     return false;
 }