Skip to main content
Element Software
12.5 and 12.7
La versione in lingua italiana fornita proviene da una traduzione automatica. Per eventuali incoerenze, fare riferimento alla versione in lingua inglese.

Metodi asincroni

Collaboratori

Alcuni metodi API sono asincroni, il che significa che l'operazione che eseguono potrebbe non essere completa quando il metodo restituisce. I metodi asincroni restituiscono un handle che è possibile interrogare per visualizzare lo stato dell'operazione; le informazioni di stato per alcune operazioni potrebbero includere una percentuale di completamento.

Quando si esegue una query su un'operazione asincrona, il risultato può essere uno dei seguenti tipi:

  • DriveAdd: Il sistema sta aggiungendo un disco al cluster.

  • BulkVolume: Il sistema sta eseguendo un'operazione di copia tra i volumi, ad esempio un backup o un ripristino.

  • Clone: Il sistema sta clonando un volume.

  • DriveRemoval: Il sistema sta copiando i dati da un disco in preparazione per rimuoverli dal cluster.

  • RtfiPendingNode: Il sistema sta installando software compatibile su un nodo prima di aggiungerlo al cluster.

Tenere presente quanto segue quando si utilizzano metodi asincroni o si ottiene lo stato di un'operazione asincrona in esecuzione:

  • I metodi asincroni sono indicati nella documentazione relativa ai singoli metodi.

  • I metodi asincroni restituiscono un “asyncHandle”, un handle noto dal metodo API di emissione. È possibile utilizzare l'handle per eseguire il polling dello stato o del risultato dell'operazione asincrona.

  • È possibile ottenere il risultato di singoli metodi asincroni con il metodo GetAsyncResult. Quando si utilizza GetAsyncResult per eseguire una query su un'operazione completata, il sistema restituisce il risultato e rimuove automaticamente il risultato dal sistema. Quando si utilizza GetAsyncResult per eseguire query su un'operazione incompleta, il sistema restituisce il risultato ma non lo elimina.

  • È possibile ottenere lo stato e i risultati di tutti i metodi asincroni in esecuzione o completati utilizzando il metodo ListAsyncResults. In questo caso, il sistema non elimina i risultati delle operazioni completate.