resque - guru-sp 23/01/2011

Post on 06-Jun-2015

727 Views

Category:

Technology

0 Downloads

Preview:

Click to see full reader

TRANSCRIPT

Resque

Rubem Azenha

@razenharubem.azenha@gmail.com

razenha.wordpress.com

Janeiro/11

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

Obrigado!

rubem.azenha@gmail.com@razenha

razenha.wordpress.com

top related