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">&lt;<a href="mailto:breno@rio.pm.org" target="_blank">breno@rio.pm.org</a>&gt;</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 &#39;cache_hook&#39; 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 &#39;finalize&#39; =&gt; 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 &lt;<a href="mailto:everissimo@gmail.com" target="_blank">everissimo@gmail.com</a>&gt;:<br>
<div><div></div><div>&gt; Você está falando do cache_hook do módulo PageCache?<br>
&gt;<br>
&gt; Se for, eu tenho minhas dúvidas se é o melhor lugar pra se colocar um código<br>
&gt; como esse, porque ele pode ser executado em dois momentos no mesmo request,<br>
&gt; pelo que pude entender ao ler o código fonte. Posso estar enganado.<br>
&gt;<br>
&gt; No entanto, se estiver falando de usar a action auto, eu já tentei também, e<br>
&gt; não é executada.<br>
&gt;<br>
&gt; Abraço,<br>
&gt;<br>
&gt; Eduardo Veríssimo<br>
&gt;<br>
&gt; Em 9 de setembro de 2010 14:56, Eden Cardim &lt;<a href="mailto:edencardim@gmail.com" target="_blank">edencardim@gmail.com</a>&gt; escreveu:<br>
&gt;&gt;<br>
&gt;&gt; &gt;&gt;&gt;&gt;&gt; &quot;Eduardo&quot; == Eduardo Verissimo &lt;<a href="mailto:everissimo@gmail.com" target="_blank">everissimo@gmail.com</a>&gt; writes:<br>
&gt;&gt;<br>
&gt;&gt;    Eduardo&gt; Boa tarde.Eu preciso executar um trecho de código quando<br>
&gt;&gt;    Eduardo&gt; houver uma requisição no Catalyst. Tudo muito simples, não<br>
&gt;&gt;    Eduardo&gt; fosse o fato de que quando uso o PageCache, a sequencia<br>
&gt;&gt;    Eduardo&gt; normal de execução é alterada, e todo o código é<br>
&gt;&gt;    Eduardo&gt; ignorado. Há alguma maneira de executar um método mesmo que<br>
&gt;&gt;    Eduardo&gt; a página seja renderizada a partir do cache?<br>
&gt;&gt;<br>
&gt;&gt; A sinopse da documentação tem um exemplo de como fazer isso.<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt;   Eden Cardim       Need help with your Catalyst or DBIx::Class project?<br>
&gt;&gt;  Code Monkey                    <a href="http://www.shadowcat.co.uk/catalyst/" target="_blank">http://www.shadowcat.co.uk/catalyst/</a><br>
&gt;&gt;  Shadowcat Systems Ltd.  Want a managed development or deployment<br>
&gt;&gt; platform?<br>
&gt;&gt; <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>
&gt;&gt; _______________________________________________<br>
&gt;&gt; Brasil-PM mailing list<br>
&gt;&gt; <a href="mailto:Brasil-PM@pm.org" target="_blank">Brasil-PM@pm.org</a><br>
&gt;&gt; <a href="http://mail.pm.org/mailman/listinfo/brasil-pm" target="_blank">http://mail.pm.org/mailman/listinfo/brasil-pm</a><br>
&gt;<br>
&gt;<br>
&gt; _______________________________________________<br>
&gt; Brasil-PM mailing list<br>
&gt; <a href="mailto:Brasil-PM@pm.org" target="_blank">Brasil-PM@pm.org</a><br>
&gt; <a href="http://mail.pm.org/mailman/listinfo/brasil-pm" target="_blank">http://mail.pm.org/mailman/listinfo/brasil-pm</a><br>
&gt;<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>