Como posso automatizar as queries em cache para atualizar a um tempo exato de cada dia?

Enquanto ColdFusion lhe dá a capacidade para escolher quanto tempo a query ficará em cache, e até mesmo algumas opções para desmarcar uma query em cache manualmente, você ainda pode encontrar uma situação que requer um controle mais preciso sobre as atualizações de query em cache.

Por exemplo, digamos que você tem uma query que gera uma lista das mais novas receitas apresentadas para seu site de receita. Como esta query é utilizada tantas vezes, você escolhe cacheá-la. No entanto, você gostaria de atualizar a query em cache, exatamente ao meio-dia de cada dia para refletir um corte diário de entradas de receita nova. Como você poderia fazer isso?

A solução está na utilização do mecanismo de agendamento de sua escolha (servidor ColdFusion tem um embutido) para executar um template ColdFusion que irá atualizar a sua query em cache.

Se voce estivesse usando a seguinte query cacheada em suas páginas:

<cfquery name="qWithinTest" datasource="myDs" 
     cachedWithin="#createTimeSpan(1, 0, 0, 0)#">
     select name
     from recipes
</cfquery>

Voce poderia criar um template que libera o cache usando o seguinte código:

<cfquery name="qWithinTest" datasource="myDs" 
     cachedwithin="#createTimeSpan(0, 0, 0, -1)#">
     select name
     "line-height: 21px;">from recipes
</cfquery>

Então é um simples caso de usar o mecanismo de agendamento para executar este template ao meio dia todos os dias.

by Jeremy Petersen

Leave a comment