[Brasil-PM] Catalyst e cache

Eduardo Verissimo everissimo em gmail.com
Quinta Setembro 9 12:56:08 PDT 2010


Breno,

a opção 3 é exatamente o que eu procuro. A intenção é escrever um log num
formato particular. Achei que a melhor maneira fosse executar isso de dentro
do Catalyst. Talvez haja um meio melhor, mas este já é suficiente.

E a solução funcionou perfeitamente. Obrigado!

Peço desculpas ao Eden: realmente esta solução estava na documentação, no
endereço
http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/CatalystAndMoose.pod

Um abraço!

Eduardo Veríssimo

Em 9 de setembro de 2010 16:19, breno <breno em rio.pm.org> escreveu:

> 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
> >
> _______________________________________________
> Brasil-PM mailing list
> Brasil-PM em pm.org
> http://mail.pm.org/mailman/listinfo/brasil-pm
>
-------------- Próxima Parte ----------
Um anexo em HTML foi limpo...
URL: <http://mail.pm.org/pipermail/brasil-pm/attachments/20100909/3c7d9026/attachment.html>


Mais detalhes sobre a lista de discussão Brasil-PM