<div dir="ltr">um campo updated</div><div class="gmail_extra"><br><br><div class="gmail_quote">Em 24 de setembro de 2013 10:19, Leonardo Ruoso <span dir="ltr"><<a href="mailto:leonardo@ruoso.com" target="_blank">leonardo@ruoso.com</a>></span> escreveu:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Sem mudar muito sua estratégia atual, adiciona, além do PID, um update, que será usado para verificar um TIMEOUT nos scripts, se eles passarem e tiver o PID de alguém e uma data antiga eles roubam para si o registro e, na hora de fazer o UPDATE requer que o PID seja do script que está atualizando. Se você setar o PID como NULL ao voltar com a informação, depois de checar que o PID é do script que está atualizando —não atualizar se o PID for de outro processo— você vai ter a informação de quais registros estão em atualização e quais foram atualizados e há quanto tempo. Daí pode fazer dos mais velhos para os mais novos sempre.<div>

<br><div><a href="http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html" target="_blank">http://dev.mysql.com/doc/refman/5.0/en/timestamp-initialization.html</a><br></div></div></div><div class="gmail_extra">
<br><br><div class="gmail_quote">
Em 23 de setembro de 2013 17:22, Marcio - Google <span dir="ltr"><<a href="mailto:marciorp@gmail.com" target="_blank">marciorp@gmail.com</a>></span> escreveu:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<div><div class="h5">
<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></div></div><div class="im">=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" target="_blank">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></div></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>Leonardo Ruoso<div>Journalist, Perl developer and business consultant<br><div>Media, UFC/2006; Telecom, IFCE/1998</div>
</div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Leonardo Ruoso<div>Journalist, Perl developer and business consultant<br><div>Media, UFC/2006; Telecom, IFCE/1998</div></div>
</div>