Você sabia? CreatTimeSpan()

Nunca tinha parado para pensar nisso, mas gostei da dica que encontrei semana passada no HOF. Eis que temos o óbvio: a função CreateTimeSpan() - ou em “português” CriarIntervaloDeTempo() - é usada para se criar valores de tempo (em número de dias - um dia será 1, 1/2 dia será 0,5 e assim por diante).

Em 90% dos casos ela é usada para setar timeouts e outras informações de tempo como por exemplo o que a sua aplicação se manterá ativa (na tag cfapplication) e também em outras propriedades de tempo tal como num cache de query, pelo atributo cachedwithin (o quê? você não cacheia suas queries?!!). Neste último, é comum vermos sets para dias exatos, como um dia, dois e até um mês inteiro (queries de informações que nunca mudam, por exemplo).

Eis que lhe pergunto: você já experimentou rodar isso aqui e ver o que dá?

CreateTimeSpan.GIF

O resultado vai ser um sonoro “1″ (sem aspas) na tela do seu browser. O que isso significa (além de que a função retorna valores em dias)? Significa que se você quiser determinar o tempo de permanência de uma query no cache do servidor você pode usar cachedwithin=”1″ e pronto. Não precisa ficar se lembrando de que na função CreateTimeSpan() o primeiro atributo significa dias, o segundo horas e assim por diante… (eu não consigo decorar essas coisas). Com essa abordagem você também pode poupar alguns nanosegundos de processamento já que o CFServer não vai precisar processar a função. Best-pratice? Nunca, never, nie! Esta é apenas uma curiosidade e uma abordagem diferente para você usar em suas aplicações caso esteja de saco cheio de ficar digitando CreateTime…. em todo lugar onde você quiser valores de dias inteiros para especificar.

O porém fica por conta de valores menores que um dia (comuns em cfapplication). Já pensou uma aplicação que só pode ficar ativa por 15 minutos? O valor de #CreateTimeSpan(0,0,15,0)# é “0.0104166666667″. Decida você o que é mais fácil digitar e entender…

2 Responses

  1. Alex,

    Algum best practice da MM que você conheça sobre quando cachear e quando não cachear uma query - além do óbvio?

    Valeu!

  2. Porque você não posta alguma coisa sobre cachear queries.. garanto pra vc que tem muita gente que num sabe nem pra que serve!! aí você aproveita é já coloca uns best pratice.. com umas dicas novas pra gente ;)

Leave a Reply