Les demandes d'appel RPC peuvent-elles être expirées ?
RPC, ou Remote Procedure Call, est un mécanisme permettant d'appeler des fonctions dans un processus différent, mais en raison de latences du réseau ou d'autres problèmes, les appels peuvent parfois rester bloqués.
Si RPC ne dispose pas d'un mécanisme de délai d'attente intégré, de telles situations peuvent être gérées en utilisant des canaux pour implémenter un modèle de délai d'attente :
import "time" c := make(chan error, 1) go func() { c <- client.Call("Service", args, &result) } () select { case err := <-c: // use err and result case <-time.After(timeoutNanoseconds): // call timed out }
Dans cet exemple :
Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!