Risorsa: Waiter
Una risorsa Waiter attende che venga soddisfatta una condizione di fine all'interno di una risorsa RuntimeConfig prima di restituire un valore. Ad esempio, supponiamo di avere un sistema distribuito in cui ogni nodo scrive in una risorsa variabile che indica la sua disponibilità nell'ambito del processo di avvio.
Poi configuri una risorsa Waiter con la condizione di successo impostata per attendere che un determinato numero di nodi abbia eseguito il check-in. Successivamente, l'applicazione esegue del codice arbitrario dopo che la condizione è stata soddisfatta e il gestore viene restituito correttamente.
Una volta creata, una risorsa Waiter è immutabile.
Per saperne di più sull'utilizzo dei Waiter, consulta la documentazione sulla creazione di un Waiter.
Rappresentazione JSON | |
---|---|
{ "name": string, "timeout": string, "failure": { object( |
Campi | |
---|---|
name |
Il nome della risorsa Waiter, nel formato:
Una volta creata una risorsa Waiter, non puoi modificarne il nome. |
timeout |
[Obbligatorio] Specifica il timeout del gestore in secondi, a partire dall'istante in cui viene chiamato il metodo Una durata in secondi con un massimo di nove cifre frazionarie, terminata da " |
failure |
[Facoltativo] La condizione di errore di questo gestore. Se questa condizione è soddisfatta, |
success |
[Obbligatorio] La condizione di successo. Se questa condizione è soddisfatta, |
createTime |
Solo output. L'istante in cui è stata creata questa risorsa Waiter. L'aggiunta del valore Un timestamp in formato "Zulu" UTC RFC3339, preciso al nanosecondo. Esempio: |
done |
Solo output. Se il valore è Se è true, il cameriere ha finito. Se l'awaiter è terminato a causa di un timeout o di un errore, verrà impostato |
error |
Solo output. Se l'attività del gestore è terminata a causa di un errore o di un timeout, verrà impostato questo valore. |
EndCondition
La condizione che una risorsa Waiter è in attesa.
Rappresentazione JSON | |
---|---|
{
"cardinality": {
object( |
Campi | |
---|---|
cardinality |
La cardinalità del |
Cardinality
Una condizione di cardinalità per la risorsa Waiter. Una condizione di cardinalità viene soddisfatta quando il numero di variabili in un prefisso del percorso specificato raggiunge un numero predefinito. Ad esempio, se imposti una condizione di cardinalità in cui path
è impostato su /foo
e il numero di percorsi è impostato su 2
, le seguenti variabili soddisfano la condizione in una risorsa RuntimeConfig:
/foo/variable1 = "value1"
/foo/variable2 = "value2"
/bar/variable3 = "value3"
Tuttavia, non soddisferebbe la stessa condizione con number
impostato su 3
, perché esistono solo due percorsi che iniziano con /foo
. Le condizioni di cardinalità sono ricorsive; vengono conteggiati tutti i sottoalberi sotto il prefisso del percorso specifico.
Rappresentazione JSON | |
---|---|
{ "path": string, "number": number } |
Campi | |
---|---|
path |
La radice del sottoalbero di variabili da monitorare. Ad esempio, |
number |
Le variabili numeriche sotto |
Metodi |
|
---|---|
|
Crea una risorsa Waiter. |
|
Elimina l'attesa con il nome specificato. |
|
Recupera le informazioni su un singolo gestore. |
|
Elenca gli elementi in attesa nella configurazione specificata. |
|
Restituisce le autorizzazioni di cui dispone un chiamante sulla risorsa specificata. |