Dominando o uso de Jobs no Rails

Os Jobs são uma maneira fácil de você rodar processos demorados em background (evitando lentidão na hora de responder as requisições do usuário e tornando seu sistema mais fluido).
Nesse Screencast eu expliquei como utilizá-los (usando o Active Jobs + Redis + Sidekiq) passo a passo, então venha com a gente nesse jornada e aumente seus skills 🙂


O que vamos criar

Um gerador de relatórios (em formato html) que utiliza um Job para gerar estes relatórios de forma assíncrona.

O que vamos utilizar
Links Úteis

 

Screencasts

Entendendo os Jobs (Parte 1)


Usando os Jobs (Parte 2)


Criando nosso Projeto

Subindo o Redis (já instalado)

1 – Rode no console

*O jeito mais simples é usando docker, mas você pode fazer diretamente

 

Preparando nosso Projeto

1 – Gere o projeto rodando no console:

2 – Adicione ao Gemfile gerado:

3 – Instale rodando no console:

 

Configurando o Sidekiq

1 – Crie um initializer chamado sidekiq.rb como no vídeo e coloque nele:

2 – Coloque no seu config/application.rb:

3 – Coloque no seu routes:

4 – Suba o servidor:

5 – Visite:

http://localhost:3000/sidekiq

 

Gerando nosso Controler e View

1 – Para gerar o controller rode no console:

2 – Na view index gerada coloque:

3 – No controller gerado coloque:

class ReportsController < ApplicationController

 

4 – Ajuste o routes dessa forma:

Gerando nosso Job

1 – Para gerar o Job rode no console:

2 – No Job gerado coloque:

3 – Atualize seu controller colocando:

Subindo o Sidekiq

1 – Rode no console:

Testando

1 – Visite no browser:

http://localhost:3000/reports

2  – Pronto \o/

 

Espero que este Post tenha sido útil para você,
Muito Obrigado pela atenção,

Grande abraço
Leonardo Scorza


Você é novo por aqui?

Primeira vez no OneBitCode? Curtiu esse conteúdo?
O OneBitCode tem muito mais para você!

O OneBitCode trás conteúdos de qualidade e em português sobre programação com foco em Ruby on Rails e outras tecnologias como Angular, Ionic, React, desenvolvimento de Chatbots e etc.

Se você deseja aprender mais, de uma forma natural e dentro de uma comunidade ativa, visite nosso Facebook e nosso Twitter, veja os screencasts e talks no Youtube, alguns acontecimentos no Instagram, ouça os Podcasts e faça parte de nossa Newsletter.

Além disso, também estamos com alguns e-Books muito interessantes para quem deseja se aprimorar como programador e também como freelancer (os e-Books são gratuitos!):

Espero que curta nossos conteúdos e sempre que precisar de ajuda com os tutoriais, fala com a gente!
Seja por
Facebook ou e-mail, estamos aqui para você 🙂

Bem-vindo à família OneBitCode \o/

outubro 22, 2017

4 responses on "Dominando o uso de Jobs no Rails"

  1. Oi Léo, muito bom material!!!

    Um pequeno “bug” no final quando no ReportExampleJob está sendo gerado um arquivo html:
    out_file = File.new(“#{Rails.root.join(‘public’)}/reports/report#{code}.html”, “w”)

    E na Index do ReportController tem um filtro apenas para txt:
    @reports = Dir[“public/reports/*.txt”]

    Abraço e parabéns!!!

  2. Vlw Leonardo por compartilhar o seu conhecimento conosco!

Deixe uma resposta

Feito com s2 por OneBitCode
%d blogueiros gostam disto: