La clase Zookeeper

(PECL zookeeper >= 0.1.0)

Introducción

Representa la sesión de ZooKeeper.

Sinopsis de la Clase

Zookeeper {
/* Métodos */
public __construct ([ string $host = '' [, callable $watcher_cb = NULL [, int $recv_timeout = 10000 ]]] )
public addAuth ( string $scheme , string $cert [, callable $completion_cb = NULL ] ) : bool
public close ( void ) : void
public connect ( string $host [, callable $watcher_cb = NULL [, int $recv_timeout = 10000 ]] ) : void
public create ( string $path , string $value , array $acls [, int $flags = NULL ] ) : string
public delete ( string $path [, int $version = -1 ] ) : bool
public exists ( string $path [, callable $watcher_cb = NULL ] ) : array
public get ( string $path [, callable $watcher_cb = NULL [, array &$stat = NULL [, int $max_size = 0 ]]] ) : string
public getAcl ( string $path ) : array
public getChildren ( string $path [, callable $watcher_cb = NULL ] ) : array
public getClientId ( void ) : int
public getConfig ( void ) : ZookeeperConfig
public getRecvTimeout ( void ) : int
public getState ( void ) : int
public isRecoverable ( void ) : bool
public set ( string $path , string $value [, int $version = -1 [, array &$stat = NULL ]] ) : bool
public setAcl ( string $path , int $version , array $acl ) : bool
public static setDebugLevel ( int $logLevel ) : bool
public static setDeterministicConnOrder ( bool $yesOrNo ) : bool
public setLogStream ( resource $stream ) : bool
public setWatcher ( callable $watcher_cb ) : bool
/* Constantes */
const integer PERM_READ = 1 ;
const integer PERM_WRITE = 2 ;
const integer PERM_CREATE = 4 ;
const integer PERM_DELETE = 8 ;
const integer PERM_ADMIN = 16 ;
const integer PERM_ALL = 31 ;
const integer EPHEMERAL = 1 ;
const integer SEQUENCE = 2 ;
const integer LOG_LEVEL_ERROR = 1 ;
const integer LOG_LEVEL_WARN = 2 ;
const integer LOG_LEVEL_INFO = 3 ;
const integer LOG_LEVEL_DEBUG = 4 ;
const integer EXPIRED_SESSION_STATE = -112 ;
const integer AUTH_FAILED_STATE = -113 ;
const integer CONNECTING_STATE = 1 ;
const integer ASSOCIATING_STATE = 2 ;
const integer CONNECTED_STATE = 3 ;
const integer READONLY_STATE = 5 ;
const integer NOTCONNECTED_STATE = 999 ;
const integer CREATED_EVENT = 1 ;
const integer DELETED_EVENT = 2 ;
const integer CHANGED_EVENT = 3 ;
const integer CHILD_EVENT = 4 ;
const integer SESSION_EVENT = -1 ;
const integer NOTWATCHING_EVENT = -2 ;
const integer SYSTEMERROR = -1 ;
const integer RUNTIMEINCONSISTENCY = -2 ;
const integer DATAINCONSISTENCY = -3 ;
const integer CONNECTIONLOSS = -4 ;
const integer MARSHALLINGERROR = -5 ;
const integer UNIMPLEMENTED = -6 ;
const integer OPERATIONTIMEOUT = -7 ;
const integer BADARGUMENTS = -8 ;
const integer INVALIDSTATE = -9 ;
const integer NEWCONFIGNOQUORUM = -13 ;
const integer RECONFIGINPROGRESS = -14 ;
const integer OK = 0 ;
const integer APIERROR = -100 ;
const integer NONODE = -101 ;
const integer NOAUTH = -102 ;
const integer BADVERSION = -103 ;
const integer NOCHILDRENFOREPHEMERALS = -108 ;
const integer NODEEXISTS = -110 ;
const integer NOTEMPTY = -111 ;
const integer SESSIONEXPIRED = -112 ;
const integer INVALIDCALLBACK = -113 ;
const integer INVALIDACL = -114 ;
const integer AUTHFAILED = -115 ;
const integer CLOSING = -116 ;
const integer NOTHING = -117 ;
const integer SESSIONMOVED = -118 ;
const integer NOTREADONLY = -119 ;
const integer EPHEMERALONLOCALSESSION = -120 ;
const integer NOWATCHER = -121 ;
const integer RECONFIGDISABLED = -122 ;
}

Constantes predefinidas

Permisos ZooKeeper

Zookeeper::PERM_READ

Puede leer el valor de los nodos y enumerar sus hijos

Zookeeper::PERM_WRITE

Puede establecer el valor de los nodos

Zookeeper::PERM_CREATE

Puede crear hijos

Zookeeper::PERM_DELETE

Puede eliminar hijos

Zookeeper::PERM_ADMIN

Puede ejecutar set_acl()

Zookeeper::PERM_ALL

Todas las flags anteriores ORd together

ZooKeeper Create Flags

Zookeeper::EPHEMERAL

Si la flag Zookeeper::EPHEMERAL es establecida, el nodo se eliminará automáticamente si la sesión del cliente desaparece.

Zookeeper::SEQUENCE

Si la flag Zookeeper::SEQUENCE flag es establecida, un número de secuencia ascendente único se añade al nombre de la ruta. El número de secuencia es siempre de longitud fija de 10 dígitos, 0 relleno.

ZooKeeper Log Levels

Zookeeper::LOG_LEVEL_ERROR

Emite sólo mensajes de error

Zookeeper::LOG_LEVEL_WARN

Emite errores/advertencias

Zookeeper::LOG_LEVEL_INFO

Emite grandes mensajes de acción además de errores/advertencias

Zookeeper::LOG_LEVEL_DEBUG

Emite todo

ZooKeeper States

Zookeeper::EXPIRED_SESSION_STATE

Conectado pero la sesión expiró

Zookeeper::AUTH_FAILED_STATE

Conectado pero la autentificación falló

Zookeeper::CONNECTING_STATE

Conectando

Zookeeper::ASSOCIATING_STATE

Asociando

Zookeeper::CONNECTED_STATE

Conectado

Zookeeper::READONLY_STATE

TODO: Ayúdanos a mejorar esta extensión.

Zookeeper::NOTCONNECTED_STATE

La conexión falló

Tipos de relojes ZooKeeper

Zookeeper::CREATED_EVENT

Se ha creado un nodo

Esto sólo se genera por los relojes en nodos inexistentes. Estos relojes se ajustan usando Zookeeper::exists.

Zookeeper::DELETED_EVENT

Se ha eliminado un nodo

Esto sólo se genera por los relojes de los nodos. Estos relojes se ajustan usando Zookeeper::exists and Zookeeper::get.

Zookeeper::CHANGED_EVENT

Un nodo ha cambiado

Esto sólo lo generan los relojes de los nodos. Estos relojes se ajustan usando Zookeeper::exists and Zookeeper::get.

Zookeeper::CHILD_EVENT

Un cambio como el ocurrido en la lista de hijos

Esto sólo se genera por los relojes en la lista de hijos de un nodo. Estos relojes se ajustan usando Zookeeper::getChildren.

Zookeeper::SESSION_EVENT

Se ha perdido una sesión

Esto se genera cuando un cliente pierde el contacto o se reconecta con un servidor.

Zookeeper::NOTWATCHING_EVENT

Se ha quitado un reloj

Esto se genera cuando el servidor, por alguna razón, probablemente una limitación de recursos, ya no vigila un nodo para un cliente.

Errores del sistema y del servidor ZooKeeper

Zookeeper::SYSTEMERROR

Esto nunca es lanzado por el servidor, no debe ser usado más que para indicar un rango. Específicamente códigos de error mayores que este valor, pero menores que Zookeeper::APIERROR, son errores del sistema.

Zookeeper::RUNTIMEINCONSISTENCY

Se encontró una inconsistencia en el tiempo de ejecución.

Zookeeper::DATAINCONSISTENCY

Se encontró una inconsistencia en los datos.

Zookeeper::CONNECTIONLOSS

Se ha perdido la conexión con el servidor.

Zookeeper::MARSHALLINGERROR

Error al ordenar o desordenar los datos.

Zookeeper::UNIMPLEMENTED

La operación no se ha llevado a cabo.

Zookeeper::OPERATIONTIMEOUT

Tiempo de espera de la operación.

Zookeeper::BADARGUMENTS

Argumentos inválidos.

Zookeeper::INVALIDSTATE

Estado de zhandle inválido.

Zookeeper::NEWCONFIGNOQUORUM

Ningún grupo de nueva configuración está conectado y actualizado con el líder de la última configuración realizada. - intente invocar la reconfiguración después de que los nuevos servidores estén conectados y sincronizados.

Disponible a partir de ZooKeeper 3.5.0

Zookeeper::RECONFIGINPROGRESS

Se solicita una reconfiguración mientras se está llevando a cabo otra reconfiguración. Esto no se soporta actualmente. Por favor, vuelva a intentarlo..

Disponible a partir de ZooKeeper 3.5.0

Errores de la API ZooKeeper

Zookeeper::OK

Todo está bien.

Zookeeper::APIERROR

Esto nunca es lanzado por el servidor, no debe usarse más que para indicar un rango. Específicamente los códigos de error mayores que este valor son errores de la API (mientras que los valores inferiores a éste indican una Zookeeper::SYSTEMERROR).

Zookeeper::NONODE

El nodo no existe.

Zookeeper::NOAUTH

No está autentificado.

Zookeeper::BADVERSION

Conflicto de versiones.

Zookeeper::NOCHILDRENFOREPHEMERALS

Los nodos efímeros pueden no tener hijos.

Zookeeper::NODEEXISTS

El nodo ya existe.

Zookeeper::NOTEMPTY

El nodo tiene hijos.

Zookeeper::SESSIONEXPIRED

La sesión ha expirado por el servidor.

Zookeeper::INVALIDCALLBACK

Se especificó una devolución de llamada inválida.

Zookeeper::INVALIDACL

Se especificó un LCA inválido.

Zookeeper::AUTHFAILED

La autentificación del cliente falló.

Zookeeper::CLOSING

ZooKeeper está cerrando.

Zookeeper::NOTHING

(no error) No hay respuestas del servidor al proceso.

Zookeeper::SESSIONMOVED

La sesión se movió a otro servidor, así que la operación es ignorada.

Zookeeper::NOTREADONLY

La solicitud de cambio de estado se pasa al servidor de sólo lectura.

Zookeeper::EPHEMERALONLOCALSESSION

Intentar crear un nodo efímero en una sesión local.

Zookeeper::NOWATCHER

El observador no pudo ser encontrado.

Zookeeper::RECONFIGDISABLED

Intentar realizar una operación de reconfiguración cuando la función de reconfiguración está desactivada.

Tabla de contenidos