Transcript
Page 1: Resque - Guru-SP 23/01/2011

Resque

Rubem Azenha

@[email protected]

razenha.wordpress.com

Janeiro/11

Page 2: Resque - Guru-SP 23/01/2011

Processamento AssíncronoMensageria

Page 3: Resque - Guru-SP 23/01/2011

Sistema anterior do meu cliente....

Page 4: Resque - Guru-SP 23/01/2011
Page 5: Resque - Guru-SP 23/01/2011

Funcionalidades Importantes

Importação de planilhas ExcelExportação

Geocodificação (Google Maps API)

Page 6: Resque - Guru-SP 23/01/2011

Problemas - Importação

Volume (3000-5000 linhas)

Validação

(campos required, formato, duplicidade)

Page 7: Resque - Guru-SP 23/01/2011

Problemas - Exportação

Volume (3000-5000 * nro de clientes)

Page 8: Resque - Guru-SP 23/01/2011

Problemas - Geocodificação

Recurso externo limitado

Estabilidade do serviço

Tempo de resposta (500-7000 ms)

Page 9: Resque - Guru-SP 23/01/2011

Solução?

"Deixa pra depois"

aka

Processamento assíncrono

Page 10: Resque - Guru-SP 23/01/2011

Solução 1 - delayed_job

Simples

Usa ActiveRecord pra guardar jobs

Script start/stop

Page 11: Resque - Guru-SP 23/01/2011

Solução 1 - delayed_job

@qmx

@fabiokung

delayed_job sucks!!!!!Resque rules!

Page 12: Resque - Guru-SP 23/01/2011

Dito e feito...

Workers consumindo muitos recursos

Dificuldade de obter jobs que falharam

Dificuldade de conseguir o backtrace dos erros

Jobs simplesmente não iniciavam!

Page 13: Resque - Guru-SP 23/01/2011

Resque - por que não?

Infraestrutura desconhecida – Redis

Falta de script de inicialização

Um pouco mais complicado que delayed_job no começo

Page 14: Resque - Guru-SP 23/01/2011

Resque - problemas resolvidos!

Instalar Redis - brew/apt-get/yum

Script - https://gist.github.com/790965

Simples e funciona :)https://github.com/blog/542-introducing-resque

Page 15: Resque - Guru-SP 23/01/2011

Importação

https://gist.github.com/790951

https://gist.github.com/790952

https://gist.github.com/790953

https://gist.github.com/790955

Page 16: Resque - Guru-SP 23/01/2011

Exportação

https://gist.github.com/790956

https://gist.github.com/790957

Page 17: Resque - Guru-SP 23/01/2011

Geocodificaçãohttps://gist.github.com/790958

Page 18: Resque - Guru-SP 23/01/2011

Obrigado!

[email protected]@razenha

razenha.wordpress.com


Top Related