Atribui um valor máximo de espera (ou timeout) para a recepção de mensagens vindas do servidor.
oRedisAfter := oRedisClient:SetRecvTimeout(nTimeInSeconds) |
Nome | Tipo | Descrição | Obrigatório | Referência | Observações |
---|---|---|---|---|---|
cCommand | Inteiro | Número de segundos máximo a esperar | X |
::SetRecvTimeout()
é muito importante para aplicações críticas que dependam de tempo de resposta preciso; isto é: quanto o tempo o servidor Redis levará para responder.::SetRecvTimeout()
também é útil para uma aplicação que interaja com um servidor Redis ou muito ocupado, ou muito instável, pois permite ajustar o limite máximo de tempo que o cliente poderá aguardar por uma resposta, antes de considerar que ela não virá; ::SetRecvTimeout()
não retorna um resultado, e isto é indicado pelo valor negativo na propriedade ::nReplyType
.#include 'protheus.ch' // Setup Redis Static cRedisHost := "localhost" Static nRedisPort := 6379 Static cRedisAuth := "" User Function SetTout() Local oRedisClient := Nil Local retVal := Nil oRedisClient := tRedisClient():New() oRedisClient:Connect(cRedisHost, nRedisPort, cRedisAuth) VarInfo('oRedisClient after Connect()', oRedisClient) If oRedisClient:lConnected ConOut("Successful connection.") // Sets timeout of server answers to 10 seconds retVal := oRedisClient:SetRecvTimeout(10) VarInfo('Result of ::SetRecvTimeout()', retVal) // TODO Redis store manipulation commands oRedisClient:Disconnect() ConOut("The client was disconnected from the server.") Return .T. EndIf Return .F. |