Download - Resque - Guru-SP 23/01/2011
Processamento AssíncronoMensageria
Sistema anterior do meu cliente....
Funcionalidades Importantes
Importação de planilhas ExcelExportação
Geocodificação (Google Maps API)
Problemas - Importação
Volume (3000-5000 linhas)
Validação
(campos required, formato, duplicidade)
Problemas - Exportação
Volume (3000-5000 * nro de clientes)
Problemas - Geocodificação
Recurso externo limitado
Estabilidade do serviço
Tempo de resposta (500-7000 ms)
Solução?
"Deixa pra depois"
aka
Processamento assíncrono
Solução 1 - delayed_job
Simples
Usa ActiveRecord pra guardar jobs
Script start/stop
Solução 1 - delayed_job
@qmx
@fabiokung
delayed_job sucks!!!!!Resque rules!
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!
Resque - por que não?
Infraestrutura desconhecida – Redis
Falta de script de inicialização
Um pouco mais complicado que delayed_job no começo
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
Importação
https://gist.github.com/790951
https://gist.github.com/790952
https://gist.github.com/790953
https://gist.github.com/790955
Exportação
https://gist.github.com/790956
https://gist.github.com/790957
Geocodificaçãohttps://gist.github.com/790958