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 em que cada nó grava em um recurso variável indicando a prontidão do nó 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, a partir do momento em que o método Uma duração em segundos com até nove dígitos fracionários, encerrada por " |
failure |
[Opcional] A condição de falha deste waiter. Se essa condição for atendida, |
success |
[Obrigatório] A condição de sucesso. Se essa condição for atendida, |
createTime |
Apenas saída. O instante em que esse recurso de espera foi criado. Adicionar o valor de Um carimbo de data/hora no formato UTC “Zulu” RFC3339, medido com precisão de nanossegundos. Exemplo: |
done |
Apenas saída. Se o valor for Se verdadeiro, o waiter foi concluído. Se o encarregado terminar devido a um tempo limite ou falha, |
error |
Apenas saída. Se o encarregado for encerrado devido a uma falha ou um tempo limite, esse valor será definido. |
EndCondition
A condição que o recurso Waiter está aguardando.
Representação JSON | |
---|---|
{
"cardinality": {
object( |
Campos | |
---|---|
cardinality |
A cardinalidade do |
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
for definido como /foo
e o número de caminhos for definido como 2
, as variáveis a seguir atenderão à condição em um recurso RuntimeConfig:
/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3"
No entanto, ela não atenderia à mesma condição com o number
definido como 3
, porque há apenas 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 |
As variáveis numéricas 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. |
|
Retorna permissões do autor da chamada no recurso especificado. |