Recurso: Waiter
Un recurso de espera espera a que se cumpla una condición final dentro de un recurso RuntimeConfig antes de mostrarse. Por ejemplo, supongamos que tienes un sistema distribuido en el que cada nodo escribe en un recurso de Variable que indica el nivel de preparación del nodo como parte del proceso de inicio.
Luego, configuras un recurso de espera con la condición de éxito establecida para esperar hasta que se registre una cantidad determinada de nodos. Luego, tu aplicación ejecuta un código arbitrario después de que se cumple la condición y el objeto de espera se muestra correctamente.
Una vez creado, un recurso de Waiter es inmutable.
Para obtener más información sobre el uso de los objetos waiters, consulta la documentación Cómo crear un objeto waiter.
Representación JSON | |
---|---|
{ "name": string, "timeout": string, "failure": { object( |
Campos | |
---|---|
name |
Es el nombre del recurso de Waiter, con el siguiente formato:
Después de crear un recurso Waiter, no puedes cambiar su nombre. |
timeout |
[Obligatorio] Especifica el tiempo de espera del objeto de espera en segundos, a partir del momento en que se llama al método Una duración en segundos con hasta nueve dígitos decimales, terminados en “ |
failure |
[Opcional] La condición de error de este objeto de espera. Si se cumple esta condición, |
success |
[Obligatorio] Es la condición de éxito. Si se cumple esta condición, |
createTime |
Solo salida. El instante en el que se creó este recurso de Waiter. Si agregas el valor de Una marca de tiempo en formato RFC3339 UTC “Zulú”, con precisión de nanosegundos. Ejemplo: |
done |
Solo salida. Si el valor es Si es verdadero, el objeto de espera finalizó. Si el objeto de espera finalizó debido a un tiempo de espera o una falla, se establecerá |
error |
Solo salida. Si el objeto de espera finalizó debido a una falla o un tiempo de espera, se establecerá este valor. |
EndCondition
Es la condición a la que espera un recurso de Waiter.
Representación JSON | |
---|---|
{
"cardinality": {
object( |
Campos | |
---|---|
cardinality |
Es la cardinalidad de |
Cardinalidad
Una condición de cardinalidad para el recurso Waiter. Se cumple una condición de cardinalidad cuando la cantidad de variables en un prefijo de ruta especificado alcanza una cantidad predefinida. Por ejemplo, si estableces una condición de cardinalidad en la que path
se establece en /foo
y la cantidad de rutas se establece en 2
, las siguientes variables cumplirían con la condición en un recurso RuntimeConfig:
/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3"
Sin embargo, no satisfaría la misma condición con number
establecido en 3
, ya que solo hay 2 rutas que comienzan con /foo
. Las condiciones de cardinalidad son recursivas; se cuentan todos los subárboles bajo el prefijo de ruta de acceso específico.
Representación JSON | |
---|---|
{ "path": string, "number": number } |
Campos | |
---|---|
path |
Es la raíz del subárbol de variables que se debe supervisar. Por ejemplo, |
number |
Las variables numéricas de |
Métodos |
|
---|---|
|
Crea un recurso Waiter. |
|
Borra el objeto de espera con el nombre especificado. |
|
Obtiene información sobre un solo objeto de espera. |
|
Muestra una lista de los objetos de espera dentro de la configuración determinada. |
|
Permite mostrar los permisos que tiene un emisor para un recurso especificado. |