Recurso: Waiter
O recurso Waiter aguarda até que alguma condição final em um recurso RuntimeConfig seja atingida antes de ser retornado. Por exemplo, suponha que você tenha um sistema distribuído no qual cada node é gravado em um recurso de variável indicando a preparação do node como parte do processo de inicialização.
Em seguida, você configura um recurso Waiter com a condição de sucesso definida para aguardar até que determinado número de nodes tenha feito check-in. Na sequência, o aplicativo executa um código arbitrário depois que a condição é atingida e o waiter é retornado com sucesso.
Depois de criado, o recurso Waiter é imutável.
Para saber mais como usar waiters, leia a documentação Criação de um waiter.
Representação JSON | |
---|---|
{ "name": string, "timeout": string, "failure": { object( |
Campos | |
---|---|
name |
O nome do recurso Waiter, no formato:
Após criar um recurso Waiter, você não poderá alterar o nome dele. |
timeout |
[Obrigatório] Especifica o tempo limite do waiter em segundos, começando do momento em que o método A duração em segundos com até nove dígitos fracionais, com terminação ' |
failure |
[Opcional] A condição de falha deste waiter. Se essa condição for atingida, |
success |
[Obrigatório] A condição de sucesso. Se essa condição for atingida, |
createTime |
[Somente saída] O momento em que este recurso Waiter foi criado. A adição do valor de Um timestamp no formato UTC "Zulu" RFC3339 é precisamente medido em nanossegundos. Exemplo: |
done |
[Somente saída] Se o valor é Se verdadeiro, o waiter foi concluído. Se o waiter foi concluído devido a tempo limite esgotado ou falha, |
error |
[Somente saída] Se o waiter foi encerrado devido a falha ou tempo limite esgotado, esse valor é definido. |
EndCondition
A condição que o recurso Waiter está aguardando.
Representação JSON | |
---|---|
{
"cardinality": {
object( |
Campos | |
---|---|
cardinality |
A cardinalidade de |
Cardinalidade
A condição de cardinalidade do recurso Waiter. Ela é atingida quando o número de variáveis em um prefixo de caminho especificado alcança a quantidade predefinida. Por exemplo, se você definir uma condição de cardinalidade em que path
é definido como /foo
e o número de caminhos é definido como 2, as seguintes variáveis atingirão a condição no recurso RuntimeConfig:
/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3"
No entanto, a mesma condição não será atingida se number
for definido como 3, porque há somente dois caminhos que começam com /foo
. As condições de cardinalidade são recursivas, todas as subárvores no prefixo do caminho específico são contadas.
Representação JSON | |
---|---|
{ "path": string, "number": number, } |
Campos | |
---|---|
path |
A raiz da subárvore de variáveis que será monitorada. Por exemplo, |
number |
O número de variáveis em |
Métodos |
|
---|---|
|
Cria um recurso Waiter. |
|
Exclui o waiter com o nome especificado. |
|
Recebe informações sobre um único waiter. |
|
Lista os waiters em uma determinada configuração. |