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 Comments on “Você sabia? CreatTimeSpan()”

  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. Piruca disse:

    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 😉