<div dir="ltr">opa chefe<div><br></div><div>se eu entendi, eu proponho o sequinte:</div><div><br></div><div>1- pega um lote de dados e manda pro Redis ou Riak ou SQLITE ou CSV ou qq coisa q vc consiga salvar e todas as apps possam ler.</div>

<div>2- faz tuas apps consumirem como se fosse uma fila, um por vez. Se quiser use mensageria. acho cafona.</div><div>3- implementa um timeout: se demorar 5 minutos o "dado" volta pra fila e vc reinicia a app la. veja se o Action::Retry nao resolve</div>

<div>4- faz dois "servers" (um é backup do outro, no sentido de "quem chegar primeiro vence") cuidarem da sincronia: sistema lento <-> cache rapido</div><div><br></div><div>senão mete um timeout nas apps. se demorou demais o bloco "volta" pro sistema lento. melhor usar a primeira ideia,</div>

<div><br></div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">2013/9/23 Marcio - Google <span dir="ltr"><<a href="mailto:marciorp@gmail.com" target="_blank">marciorp@gmail.com</a>></span><br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Salve Mongers!</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">

<br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">
Tenho uma tabela em MySql com algumas centenas de registros.</div><div><div dir="ltr"><br></div><div dir="ltr"><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Em alguns momentos tenho que "processar" esses registros da forma mais rápida possível.</div>


<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">O tempo de processamento de cada registro é de aproximadamente 4-5 segundos, tempo esse alheio ao meu controle ou a minha vontade.</div>


<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Para agilizar, rodo várias vezes o mesmo app, e cada vez que ele sobe pega um lote de registros. Para impedir que a próxima cópia do app a subir pegue os mesmos registros, criei uma coluna a mais, e quando o app sobe ele verifica se a coluna tá vazia, se tiver ele grava o PID dele.</div>


<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Está funcionando mais ou menos, exceto pelo fato que não gostei da forma que ficou e de um efeito colateral. As vezes uma das cópias do app dá algum erro e cai, só que os registros do lote dele ficam lá com o PID gravado na coluna, então as outras cópias não mexem mais com esses registros e eles ficam indefinidamente pendentes.</div>


<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Alguma dica de como fazer algo "mais elegante" e "seguro"?</div>


<div class="gmail_default" style="font-family:arial,helvetica,sans-serif"><br></div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">Para adiantar:</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">


1. Tem que ser MySql. Posso mexer na tabela a vontade.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">2. O processamento não tem como ser mexido.</div><div class="gmail_default" style="font-family:arial,helvetica,sans-serif">


<br></div></div><div dir="ltr"><br>[...]'s<br><br>Marcio<div><br></div><div><div style="font-family:arial;font-size:small">========================================</div><div style="font-family:arial;font-size:small">

########### Campanha Ajude o Marcio! ###########</div>
<div style="font-family:arial;font-size:small"><a href="http://sosmarcio.blogspot.com.br/" style="color:rgb(17,85,204)" target="_blank">http://sosmarcio.blogspot.com.br/</a></div><div style="font-family:arial;font-size:small">


<a href="http://www.vakinha.com.br/VaquinhaP.aspx?e=195793" style="color:rgb(17,85,204)" target="_blank">http://www.vakinha.com.br/VaquinhaP.aspx?e=195793</a><br></div><div style="font-family:arial;font-size:small">========================================</div>


</div></div></div>
</div>
<br>=begin disclaimer<br>
   Sao Paulo Perl Mongers: <a href="http://sao-paulo.pm.org/" target="_blank">http://sao-paulo.pm.org/</a><br>
 SaoPaulo-pm mailing list: <a href="mailto:SaoPaulo-pm@pm.org">SaoPaulo-pm@pm.org</a><br>
 L<<a href="http://mail.pm.org/mailman/listinfo/saopaulo-pm" target="_blank">http://mail.pm.org/mailman/listinfo/saopaulo-pm</a>><br>
=end disclaimer<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>Tiago B. Peczenyj<br>Linux User #405772<br><br><a href="http://about.me/peczenyj" target="_blank">http://about.me/peczenyj</a>
</div>