2017-02-20 6 views
1

Ich benutze gRPC mit Go und muss das Socket-Lese-Timeout auf der Client-Verbindung setzen (da die verfügbaren Funktionen alle synchron sind). Kann anscheinend nicht finden, dass ich in der DialOption einstellen kann. Gibt es eine Möglichkeit, wie ich das Timeout einstellen kann?Wie setze ich SO_TIMEOUT für Go gRPC

Gibt es auch noch, dass ich eine Anfrage abbrechen kann?

Danke.

+0

Mögliche Duplikate von [Hat RPC einen Timeout-Mechanismus?] (Http://stackoverflow.com/questions/23330024/does-rpc-have-a-timeout-mechanism) – Tinwor

+0

Haben Sie versucht, Go-Cron-Bibliothek: https : //github.com/jasonlvhit/gocron? Es geht nicht um Timeouts, ja, aber vielleicht können Sie ein Shedule wie lesen .. – Altenrion

Antwort

0

Ohne Beispielcode kann ich Ihnen einfach eine einfache Antwort ohne ein konkretes Beispiel geben.

Wenn Sie eine Zeitüberschreitung festlegen möchten, sollten Sie einen Kontext verwenden. Der Kontext-Schnittstelle bietet eine Timeout, die Sie in dem Kontext setzen: godoc: Context

Im Innern des gRPC Pakets erhalten Sie die Methode für die Wahl mit einem Kontext haben: godoc: DialContext

Also nur das Timeout in Ihrem Kontext setzen und den Kontext verwenden wenn Sie wählen.

+0

ja. das funktioniert. Vielen Dank! –

+0

Gern geschehen. Wenn diese Antwort Ihnen helfen würde, würde ich mich freuen, eine Aufwertung zu bekommen. – apxp

Verwandte Themen