[Brasil-PM] Catalyst e cache
breno
breno em rio.pm.org
Quinta Setembro 9 12:19:08 PDT 2010
Não sei se entendi a pergunta... vc quer fazer cache de toda a página,
exceto de um item específico? Ou quer fazer um teste e montar o cache
apenas se determinada condição ocorrer? Ou quer acionar alguma
atividade no backend (digamos, disparar um email ou ativar um worker
ou sei lá) sempre que alguém acertar a página, e servir o que estiver
no cache?
Se for a primeira, acho que não dá. Pelo que entendi, cache é ou tudo
ou nada. Talvez uma solução de Memoize ajude, mas eu ficaria de olho
na memória.
Se for a segunda, cache_hook é exatamente o que vc precisa;
Se for a terceira, usar o 'cache_hook' pode parecer uma opção, mas vc
tem razão em ter dúvidas, já que ela é executada no dispatch e no
finalize. Já que vc quer o PageCache, minha tentativa seria tirar
proveito da integração Catalyst e Moose:
after 'finalize' => sub {
my $c = shift;
# meu código que não faz cache :-)
}
O tipo de modificador (before, after) e a etapa da requisição
(finalize, dispatch, prepare) vai de acordo com o gosto do freguês.
Boa sorte!
[]s
-b
2010/9/9 Eduardo Verissimo <everissimo em gmail.com>:
> Você está falando do cache_hook do módulo PageCache?
>
> Se for, eu tenho minhas dúvidas se é o melhor lugar pra se colocar um código
> como esse, porque ele pode ser executado em dois momentos no mesmo request,
> pelo que pude entender ao ler o código fonte. Posso estar enganado.
>
> No entanto, se estiver falando de usar a action auto, eu já tentei também, e
> não é executada.
>
> Abraço,
>
> Eduardo Veríssimo
>
> Em 9 de setembro de 2010 14:56, Eden Cardim <edencardim em gmail.com> escreveu:
>>
>> >>>>> "Eduardo" == Eduardo Verissimo <everissimo em gmail.com> writes:
>>
>> Eduardo> Boa tarde.Eu preciso executar um trecho de código quando
>> Eduardo> houver uma requisição no Catalyst. Tudo muito simples, não
>> Eduardo> fosse o fato de que quando uso o PageCache, a sequencia
>> Eduardo> normal de execução é alterada, e todo o código é
>> Eduardo> ignorado. Há alguma maneira de executar um método mesmo que
>> Eduardo> a página seja renderizada a partir do cache?
>>
>> A sinopse da documentação tem um exemplo de como fazer isso.
>>
>> --
>> Eden Cardim Need help with your Catalyst or DBIx::Class project?
>> Code Monkey http://www.shadowcat.co.uk/catalyst/
>> Shadowcat Systems Ltd. Want a managed development or deployment
>> platform?
>> http://blog.edencardim.com/ http://www.shadowcat.co.uk/servers/
>> _______________________________________________
>> Brasil-PM mailing list
>> Brasil-PM em pm.org
>> http://mail.pm.org/mailman/listinfo/brasil-pm
>
>
> _______________________________________________
> Brasil-PM mailing list
> Brasil-PM em pm.org
> http://mail.pm.org/mailman/listinfo/brasil-pm
>
Mais detalhes sobre a lista de discussão Brasil-PM