
Prezados leitores, mostrarei aqui com o mesmo exemplo anterior, como se faz "timeout de query", uma técnica indispensável para um alto uptime de um sistema web feito em Coldfusion.
O timeout de query nada mais é do que um tempo especificado em segundos, após o qual o servidor de aplicação interromperá a execução por uma exceção.
O erro gerado deve ser tratado pela aplicação e informado ao usuário: "não houve uma resposta à sua requisição dentro do tempo limite esperado". Isso evita gargalos por enfileiramento e garante a aplicação no ar e respondendo.
O erro gerado deve ser tratado pela aplicação e informado ao usuário: "não houve uma resposta à sua requisição dentro do tempo limite esperado". Isso evita gargalos por enfileiramento e garante a aplicação no ar e respondendo.
<cfset result="true">
<cftry>
<cfquery datasource="bdProd" name="retornaCidades" timeout="10">
select cod_cidade, dsc_cidade
from esc.cidade
where cod_uf = <cfqueryparam value="#arguments.uf#"
cfsqltype="CF_SQL_VARCHAR" maxlength="2">
order by decode(dsc_cidade,'Rio De Janeiro','A',dsc_cidade)
</cfquery>
<cfcatch type="Any" >
<cfif #FindNoCase("timeout", cfcatch.Detail)# GT 0>
<cfset result = "Não houve resposta dentro do tempo disponível!">
<cfelse>
<cfset result = "Ocorreu um erro durante a pesquisa. Tente novamente!">
</cfif>
</cfcatch>
</cftry>
Simples assim e evita muitos problemas!
Até o próximo post!
Nenhum comentário:
Postar um comentário