Breno,<br><br>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.<br>
<br>E a solução funcionou perfeitamente. Obrigado!<br><br>Peço desculpas ao Eden: realmente esta solução estava na documentação, no endereço<br><a href="http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/CatalystAndMoose.pod">http://search.cpan.org/dist/Catalyst-Manual/lib/Catalyst/Manual/CatalystAndMoose.pod</a><br>
<br>Um abraço!<br><br>Eduardo Veríssimo<br><br><div class="gmail_quote">Em 9 de setembro de 2010 16:19, breno <span dir="ltr"><<a href="mailto:breno@rio.pm.org" target="_blank">breno@rio.pm.org</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Não sei se entendi a pergunta... vc quer fazer cache de toda a página,<br>
exceto de um item específico? Ou quer fazer um teste e montar o cache<br>
apenas se determinada condição ocorrer? Ou quer acionar alguma<br>
atividade no backend (digamos, disparar um email ou ativar um worker<br>
ou sei lá) sempre que alguém acertar a página, e servir o que estiver<br>
no cache?<br>
<br>
Se for a primeira, acho que não dá. Pelo que entendi, cache é ou tudo<br>
ou nada. Talvez uma solução de Memoize ajude, mas eu ficaria de olho<br>
na memória.<br>
<br>
Se for a segunda, cache_hook é exatamente o que vc precisa;<br>
<br>
Se for a terceira, usar o 'cache_hook' pode parecer uma opção, mas vc<br>
tem razão em ter dúvidas, já que ela é executada no dispatch e no<br>
finalize. Já que vc quer o PageCache, minha tentativa seria tirar<br>
proveito da integração Catalyst e Moose:<br>
<br>
after 'finalize' => sub {<br>
my $c = shift;<br>
# meu código que não faz cache :-)<br>
}<br>
<br>
O tipo de modificador (before, after) e a etapa da requisição<br>
(finalize, dispatch, prepare) vai de acordo com o gosto do freguês.<br>
<br>
Boa sorte!<br>
<br>
[]s<br>
<br>
-b<br>
2010/9/9 Eduardo Verissimo <<a href="mailto:everissimo@gmail.com" target="_blank">everissimo@gmail.com</a>>:<br>
<div><div></div><div>> Você está falando do cache_hook do módulo PageCache?<br>
><br>
> Se for, eu tenho minhas dúvidas se é o melhor lugar pra se colocar um código<br>
> como esse, porque ele pode ser executado em dois momentos no mesmo request,<br>
> pelo que pude entender ao ler o código fonte. Posso estar enganado.<br>
><br>
> No entanto, se estiver falando de usar a action auto, eu já tentei também, e<br>
> não é executada.<br>
><br>
> Abraço,<br>
><br>
> Eduardo Veríssimo<br>
><br>
> Em 9 de setembro de 2010 14:56, Eden Cardim <<a href="mailto:edencardim@gmail.com" target="_blank">edencardim@gmail.com</a>> escreveu:<br>
>><br>
>> >>>>> "Eduardo" == Eduardo Verissimo <<a href="mailto:everissimo@gmail.com" target="_blank">everissimo@gmail.com</a>> writes:<br>
>><br>
>> Eduardo> Boa tarde.Eu preciso executar um trecho de código quando<br>
>> Eduardo> houver uma requisição no Catalyst. Tudo muito simples, não<br>
>> Eduardo> fosse o fato de que quando uso o PageCache, a sequencia<br>
>> Eduardo> normal de execução é alterada, e todo o código é<br>
>> Eduardo> ignorado. Há alguma maneira de executar um método mesmo que<br>
>> Eduardo> a página seja renderizada a partir do cache?<br>
>><br>
>> A sinopse da documentação tem um exemplo de como fazer isso.<br>
>><br>
>> --<br>
>> Eden Cardim Need help with your Catalyst or DBIx::Class project?<br>
>> Code Monkey <a href="http://www.shadowcat.co.uk/catalyst/" target="_blank">http://www.shadowcat.co.uk/catalyst/</a><br>
>> Shadowcat Systems Ltd. Want a managed development or deployment<br>
>> platform?<br>
>> <a href="http://blog.edencardim.com/" target="_blank">http://blog.edencardim.com/</a> <a href="http://www.shadowcat.co.uk/servers/" target="_blank">http://www.shadowcat.co.uk/servers/</a><br>
>> _______________________________________________<br>
>> Brasil-PM mailing list<br>
>> <a href="mailto:Brasil-PM@pm.org" target="_blank">Brasil-PM@pm.org</a><br>
>> <a href="http://mail.pm.org/mailman/listinfo/brasil-pm" target="_blank">http://mail.pm.org/mailman/listinfo/brasil-pm</a><br>
><br>
><br>
> _______________________________________________<br>
> Brasil-PM mailing list<br>
> <a href="mailto:Brasil-PM@pm.org" target="_blank">Brasil-PM@pm.org</a><br>
> <a href="http://mail.pm.org/mailman/listinfo/brasil-pm" target="_blank">http://mail.pm.org/mailman/listinfo/brasil-pm</a><br>
><br>
_______________________________________________<br>
Brasil-PM mailing list<br>
<a href="mailto:Brasil-PM@pm.org" target="_blank">Brasil-PM@pm.org</a><br>
<a href="http://mail.pm.org/mailman/listinfo/brasil-pm" target="_blank">http://mail.pm.org/mailman/listinfo/brasil-pm</a><br>
</div></div></blockquote></div><br><div style="display: inline;"></div>
<div style="visibility: hidden; display: inline;" id="avg_ls_inline_popup"></div><style type="text/css">#avg_ls_inline_popup { position:absolute; z-index:9999; padding: 0px 0px; margin-left: 0px; margin-top: 0px; width: 240px; overflow: hidden; word-wrap: break-word; color: black; font-size: 10px; text-align: left; line-height: 13px;}</style>