Árvore de páginas

Versões comparadas

Chave

  • Esta linha foi adicionada.
  • Esta linha foi removida.
  • A formatação mudou.

Atribui um valor máximo de espera (ou timeout) para a recepção de mensagens vindas do servidor.

Sintaxe

Bloco de código
oRedisClient:SetRecvTimeout(nTimeInSeconds)

Observações

  • O método ::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.
E também


  • ::SetRecvTimeout() também é útil para uma aplicação que interaja com um servidor
remoto, que pode até mesmo não responder, devido a perda de conexão com o programa cliente, que tenta disparar comandos no 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á;
  • Por ora o método ::SetRecvTimeout() não retorna um resultado,
mas isto pode ser alterado em versões subsequentes da biblioteca
  • e isto é indicado pelo valor negativo na propriedade ::nReplyType.


Exemplos

Bloco de código
languagecpp
linenumberstrue
#include 'protheus.ch'
   
// Setup Redis
Static cRedisHost := "tec-climalocalhost"
Static nRedisPort := 6379
Static cRedisAuth := ""
   
User Function redTstSetTout()
  oRedisCliLocal oRedisClient := Nil
  Local retVal       := Nil
  
  oRedisClient := tRedisClient():New()
  oRedisClioRedisClient:Connect(cRedisHost, nRedisPort, cRedisAuth)

  VarInfo('oRedisClient after Connect()', oRedisClient)
  
  If oRedisClioRedisClient: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
    
    oRdClientoRedisClient:Disconnect()
    ConOut("The client was disconnected from the server.")
 
    Return .T.
  EndIf
  
Return .F.



Veja também