Background jobs (filas) no Node.js com Redis | Masterclass #02

  Рет қаралды 93,549

Rocketseat

Rocketseat

Күн бұрын

Muitas tarefas da nossa aplicação não precisam executar de forma síncrona, por exemplo, e-mails, relatórios, etc. Nesses casos, o melhor a se fazer é processar essas tarefas em segundo plano.
Nesse vídeo vamos entender sobre trabalhos em segundo plano com Node.js utilizando uma biblioteca fantástica chamada Bull que nos permite não só executar background tasks mas também monitorar falhas, realizar retentativas, adicionar prioridades e tudo isso de uma forma extremamente simples e performática.
Código da aplicação: github.com/Roc...
-----
Acompanhe a Rocketseat nas redes sociais:
Site: www.rocketseat...
Twitter: / rocketseat
Facebook: / rocketseat
Instagram: / rocketseat_oficial
Comunidade: comunidade.rock...
Blog: rocketseat.com...

Пікірлер: 158
@GabrielPaivaMusic
@GabrielPaivaMusic 5 жыл бұрын
Fico impressionado com a didática do Diego! Eu prefiro quando a explicação é rápida, sem enrolação. Parabéns pelo excelente trabalho!
@alison.sandrade
@alison.sandrade 4 жыл бұрын
Conteúdo de alto nível e de extrema importância, coisa que não se ver nem nos cursos pagos. Obrigado, ajudou muito.
@shadracnicholas
@shadracnicholas 4 жыл бұрын
I bumped into this video recently, although I do not understand the language, seeing you code made me understand alot.
@juniorl.botelho5511
@juniorl.botelho5511 4 жыл бұрын
The most recent videos are already subtitled.
@antonioraimundocanal
@antonioraimundocanal 5 жыл бұрын
Que conteúdo irado, poderia fazer um masterclass adonisjs e o redis se for possível utilizar.
@franciscomenezes6970
@franciscomenezes6970 4 жыл бұрын
Como eu aprendo cosias novas cada dica com a Rocketseat. Diego você é fera cara!
@rivanildojunior4507
@rivanildojunior4507 5 жыл бұрын
Sensacional, parabéns! Faz no AdonisJS e a aula sobre o Sentry!
@markfazolin
@markfazolin 5 жыл бұрын
Diego, sou fã da rocketseat, e esta master class ficou 5 estrelas! Uma master class sobre o sentry seria ótimo! Valeu por compartilhar conhecimento!
@LosangeloPacifico
@LosangeloPacifico 5 жыл бұрын
D+, ficarei aguardando o vídeo do Sentry! Obrigado, pelo conhecimento compartilhado e para quem ainda não fez o BootCamp, que faça, pois não tem igual! #ProximoNivelRocketSeat
@cesarvaz6622
@cesarvaz6622 5 жыл бұрын
Boa tarde. Você fez o GoStack? Pode contar um pouco da experiência? Estou interessado no bootcamp. Obrigado
@JoshuaHawatta
@JoshuaHawatta 4 ай бұрын
10 segundos tá até melhor do que eu esperava. No trampo tem request que tá demorando 5 minutos e tô indo atrás de aprender sobre Queues pra ver se resolve KKKKKK
@danielcruz9583
@danielcruz9583 4 жыл бұрын
Sensacional o vídeo Diego, conteúdo excelente! Seria muito interessante um vídeo sobre o Sentry, tudo que nos ajude com monitoramento é sempre válido
@rocketseat
@rocketseat 4 жыл бұрын
Faala, Daniel! Valeu pelo feedback e pela sugestão! 💜
@ricktsisecretable
@ricktsisecretable 3 жыл бұрын
Que material extraordinário. Meus parabéns pelo ótimo conteúdo. Material completo, passando por cada fase.
@Dsouza10082
@Dsouza10082 5 жыл бұрын
Diego, queria agradecer pelo conteúdo, vou usar alguns destes conceitos em um projeto gigante de gateway de Pagamentos com criptomoedas, na realidade está pronto. Prefiro usar desta forma do que com o RabbitMQ, para manter a stack a mais concisa quanto possível. Muito obrigado!
@blckhll
@blckhll 5 жыл бұрын
Sensacional! Parabéns ao time da Rocketseat por mais essa super masterclass.
@alefechorna1412
@alefechorna1412 5 жыл бұрын
Conteúdo de curso no KZbin. Parabéns!
@lironnnick
@lironnnick 5 жыл бұрын
Velho mudou minha vida isso ....Muito bom. E se possível grava uma aula sobre sentry
@LeonardoBradoksOficial
@LeonardoBradoksOficial Ай бұрын
Caramba mano se é loco o cara é bom de vdd pqp
@brunodepaula5293
@brunodepaula5293 4 жыл бұрын
Diego, como sempre, conteúdo sensacional. Achei um problema no seu código. Pra quem interessar, seguinte: no new Queue (26:06), o redisConfig não consegue entender o host e a porta configuradas, da forma que está passando no construtor. No seu código funcionou, pois o redis estava no docker e mapeou pro 127.0.0.1, e então, ele entendeu o host padrão. Peguei esse erro quando tentei fazer um container ler o redis de outro container, e neste caso, meu host do redis se chamava "redis". Pra arrumar, deve passar a url da conexão, dessa forma: de: const mailQueue = new Queue(RegistrationMail.key, redisConfig) para: const mailQueue = new Queue(RegistrationMail.key, `redis://${redisConfig.host}:${redisConfig.port}`) Espero poder ajduar alguem com essa dica! Valew!
@rocketseat
@rocketseat 4 жыл бұрын
Poxa, valeu pela dica, Bruno! 💜
@brunodepaula5293
@brunodepaula5293 4 жыл бұрын
Valew! sei não nao devem olhar os pull requests antigos, mas criei um lah pra resolver isso..valew!! novamente..
@filipemoraes577
@filipemoraes577 4 жыл бұрын
Boaa, tava procurando no google e nada de encontrar a solução. Obrigado!!!
@lucaschitolina7156
@lucaschitolina7156 3 жыл бұрын
graaaacias!
@vitorgouveia5378
@vitorgouveia5378 3 жыл бұрын
valeeeu, me ajudou bastante
@StanleySathler
@StanleySathler 3 жыл бұрын
Caramba, muito bom!! Super bem explicado e direto ao ponto.
@edilsonpacheco847
@edilsonpacheco847 5 жыл бұрын
Novamente conteúdo foda. Parabéns Rocket! Uma masterclass que eu gostaria de ver é como configurar websockets no Redux/Redux-Sagas.
@imartytk
@imartytk Жыл бұрын
Vi um vídeo incrível no canal do DevDoido! Ele demonstra como usar Redis em Node.js com o serviço Upstash para armazenar consultas de endpoint e seus resultados. Definitivamente, um conteúdo que vale a pena conferir! Ele tem tbm um de websocket no react native se nao me engano
@raffaelmartins646
@raffaelmartins646 5 жыл бұрын
Muito bom!!! Faz sim! um vídeo sobre o Sentry
@harissonmatos
@harissonmatos 5 жыл бұрын
Ótimo vídeo, estão de parabéns, estou aprendendo muito. SUGESTÃO: Fazer a importação/exportação dos jobs como você já ensinou com as models do sequelize, usando a lib "fs". Assim ficaria 100% automatizado.
@kmoreira-dev
@kmoreira-dev 2 жыл бұрын
Muito bom!! Clareou todos os meus problemas. Obrigado!!
@felipehuggler9557
@felipehuggler9557 4 жыл бұрын
Diego, aproveitando eu mudaria o metodo add e passaria mais um parametro add(name, data, options) e o return ficaria return queue.bull.add(data, options || queue.options); ai a assinatura ficaria -> await Queue.add('RegistrationMail', mailOptions, { delay: 172800}); // dois dias Valeu!
@MarcosPaulo-bs3mp
@MarcosPaulo-bs3mp 4 жыл бұрын
Excelente o conteúdo aprendi bastante, sobre Redis e continuo aprendendo ... show de bola.
@rocketseat
@rocketseat 4 жыл бұрын
Vaaleu, Marcos! 💜
@ellyofreitas
@ellyofreitas 5 жыл бұрын
Muiito massa, esse bull parece uma melhor alternativa ao bee mesmo
@FilipeASantana
@FilipeASantana 5 жыл бұрын
Muito bom! Aguardando o vídeo sobre Sentry!
@alexjrnogueira
@alexjrnogueira 2 жыл бұрын
Parabéns Diego! vídeo sensacional
@JohannyLS
@JohannyLS 2 жыл бұрын
Perfeito. Consegui aprender muito sobre background jobs. Muito obrigado
@juloko
@juloko 2 жыл бұрын
Esse cara é incrível!
@migueldaipre10
@migueldaipre10 5 жыл бұрын
Chegou na hora certa ! Obrigado
@alexandrealmeida7095
@alexandrealmeida7095 5 жыл бұрын
Excelente conteúdo, didática e exemplificação. Grato.
@DougLopes
@DougLopes Жыл бұрын
Ótimo video, mas devia ter no título que usa o Bull, tava procurando igual louco e o video explica tudo que eu precisava mas assisti uns 15 videos antes desse por não ter a informação no título.
@ChrisMarques1981
@ChrisMarques1981 5 жыл бұрын
Top como sempre Diego, muito bom!
@SilasSWF
@SilasSWF 4 жыл бұрын
Conteúdo extremamente valioso. Muito obrigado Diego!
@rocketseat
@rocketseat 4 жыл бұрын
Valeeu pelo feedback! 💜 Diego arrasa né? 💜
@darcio28
@darcio28 3 жыл бұрын
Top de mais esse video......Valeu..... um video sobre sentry seria top tmb......
@NetoHeitor
@NetoHeitor 5 жыл бұрын
Show de bola como sempre.
@MrFliperocha
@MrFliperocha 5 жыл бұрын
Só conteúdo sensacional!
@evandrogibicoski
@evandrogibicoski 5 жыл бұрын
Muitíssimo Obrigado por esta aula, sensacional. :)
@williamssantos826
@williamssantos826 2 жыл бұрын
tú éis um anjo kkkk me salvou legal kkk
@SauloOliveira
@SauloOliveira 4 жыл бұрын
Mais um vídeo épico 😁, obrigado.
@rocketseat
@rocketseat 4 жыл бұрын
Que massa Saulo! Valeu pelo feedback!! 💜
@StackMobile
@StackMobile 5 жыл бұрын
Parabéns conteúdo rico em informações.
@johnnyvaz1
@johnnyvaz1 5 жыл бұрын
Por favor. Queria te pedir que grave com uma tela menor. Para melhor visualização em celular. Obrigado. Bom conteúdo. Parabéns
@maykbrito
@maykbrito 5 жыл бұрын
SEN-SA-CIO-NAL!!!
@edmengo2
@edmengo2 5 жыл бұрын
Show... aguardar sobre o sentry
@franciscojosivam1057
@franciscojosivam1057 4 жыл бұрын
Incrível, esclareceu muitas dúvidas.
5 жыл бұрын
Diego, faz uma aula sobre o Sentry sim :)
@oscarrafaelcampos
@oscarrafaelcampos 3 жыл бұрын
🔥🔥🔥
@devseg
@devseg 5 жыл бұрын
Parabéns, conteúdo muito bom!
@tiagocunhafernandes6607
@tiagocunhafernandes6607 5 жыл бұрын
Diego, compartilha com a gente uma lib com Dashboard pra monitorar os usuários, e rotas , séssions e performances... o sentry já estou utilizando e é bem Top a ferramenta mesmo!
@leoamorimrosa
@leoamorimrosa 5 жыл бұрын
Parabéns pelo conteúdo!!!
@LuisFGall
@LuisFGall 10 ай бұрын
aula nota 10👏
@fala_re
@fala_re 5 жыл бұрын
Top demaaaaais... Faz um vídeo de Sentry 😁
@vfrancomaia
@vfrancomaia 5 жыл бұрын
Conteúdo sensacional como sempre! Uma dúvida: qual é a melhor maneira de fazer o deploy da aplicação e os background jobs em separado? Obrigado!
@BrocchiRodrigo
@BrocchiRodrigo 4 жыл бұрын
Caramba muito massa o conteúdo!
@rocketseat
@rocketseat 4 жыл бұрын
Fala, Rodrigo! Valeeeu pelo feedback! 💜💜
@tiagocunhafernandes6607
@tiagocunhafernandes6607 5 жыл бұрын
Como de costume, TOOOOP
@MauricioLucasOficial
@MauricioLucasOficial 5 жыл бұрын
Show!! na aula do sentry pode ter tmb algo sobre reset da api num erro grave que para tudo :)
@antonioraimundocanal
@antonioraimundocanal 5 жыл бұрын
Seria muito bacana falar sobre o sentry.
@elvitin
@elvitin 6 ай бұрын
Época que o Diego usava .js haha Faz um vídeo novo só que agora com BullMq
@paulorcaldera
@paulorcaldera 3 жыл бұрын
Esperando o video sobre Sentry :D
@fabioramatis2373
@fabioramatis2373 5 жыл бұрын
Incrivel como sempre
@MatheusLima-xy9ni
@MatheusLima-xy9ni 5 жыл бұрын
Oi Diego. Faz a próxima sobre websocket. Valeu!
@adelinopds
@adelinopds 3 жыл бұрын
Vídeo muito top 😍😍😍😍
@alyssonbormann
@alyssonbormann 5 жыл бұрын
Show, fale mais sobre o sentry
@diegogoulart159
@diegogoulart159 5 жыл бұрын
Muito bom! Faz um vídeo usando o Bull no Adonis! E eu não entendi direito como separar o queue.js do servidor, ou seja rodar em outra máquina. Poderia demonstrar isso em um vídeo rápido (continuação desse por exemplo).
@rodrigofuhr8965
@rodrigofuhr8965 4 жыл бұрын
Também fiquei em dúvida de como fazer isto. Procurei algo a respeito e não encontrei. Tu chegou a fazer algo?
@diegogoulart159
@diegogoulart159 4 жыл бұрын
@@rodrigofuhr8965 eu estou usando o plugin que o pessoal da Rocket fez. Procura aí: Rocketseat/adonis-bull
@CaioCesarRegatieri
@CaioCesarRegatieri 5 жыл бұрын
SENSACIONAL!!!
@carloseduardoguedeslourenc4212
@carloseduardoguedeslourenc4212 5 жыл бұрын
Excelente!
@davidalexander8786
@davidalexander8786 3 жыл бұрын
obrigado
@rocketseat
@rocketseat 3 жыл бұрын
💜
@GustavoCardoso
@GustavoCardoso 5 жыл бұрын
Muito massa
@vitorgrenzel9963
@vitorgrenzel9963 5 жыл бұрын
Diego, faz um vídeo de como utilizar redux no Next.js
@henriquesilverio5910
@henriquesilverio5910 5 жыл бұрын
30:12 Como fica para publicar essa instância separada em um outro ambiente, sendo que ela depende de código da aplicação "principal"? No caso depende do `RegistrationMail.handle` por exemplo...
@wesleydias9944
@wesleydias9944 4 жыл бұрын
tenho a mesma duvida, sabe dizer se encontrou esse conteúdo em outro lugar por ai?
@rodrigofuhr8965
@rodrigofuhr8965 4 жыл бұрын
Minha duvida também. conseguiu solucionar?
@jeanjunior-dev
@jeanjunior-dev 3 жыл бұрын
#PR eu fiquei com a mesma dúvida sobre como rodar a fila em um servidor externo
@portalcompartilharepreciso8682
@portalcompartilharepreciso8682 5 жыл бұрын
excelente! top
@programadormarcos6182
@programadormarcos6182 5 жыл бұрын
Diego queria muito ver você fazendo um coteudo utilizando o redis + rabbitmq agradeço demais
@DavyMartinsMeireles
@DavyMartinsMeireles 5 жыл бұрын
Muito bom
@kaiovcp4480
@kaiovcp4480 5 жыл бұрын
Animal! vlw!
@batista7898
@batista7898 5 жыл бұрын
Bacana o esquema de jobs e bem util, porem gostaria de saber mais de como limitar o uso de recursos do sistemas nas jobs, no caso de querer particionar o uso entre aplicação e jobs para não travar o sistema (levando em conta que estão na mesma maquina).
@apenasluan3661
@apenasluan3661 5 жыл бұрын
muito bom!!
@ricard0pb
@ricard0pb 5 жыл бұрын
Por favor faça um video sobre usar Bull com AdonisJS 🙏 estou precisando MUITO e não encontro jeito de fazer funcionar.
@Jonny-hq6eo
@Jonny-hq6eo 4 жыл бұрын
github.com/Rocketseat/adonis-bull
@kelsonmarciel686
@kelsonmarciel686 5 жыл бұрын
Conteúdo muito bom, quanto a monitoramento em ambiente de produção acho uma boa pauta, deixo aqui uma duvida sobre qual ferramenta utilizar para monitoramento para o react-native (sentry ou o Diacnostic da App Center) ??
@khalleb
@khalleb 4 жыл бұрын
show
@rocketseat
@rocketseat 4 жыл бұрын
Valeeu Khalleb! 💜💜
@JaraguaMilTreta
@JaraguaMilTreta 5 жыл бұрын
E se algo falhar, conseguimos automatizar para que volte para a fila o erro?
@paulobueno778
@paulobueno778 2 жыл бұрын
😎
@phemartin
@phemartin 2 жыл бұрын
Existe uma forma de integrar Bull com NextJS? Queria saber como processar Queues de forma assincrona.
@SilasSWF
@SilasSWF 4 жыл бұрын
Quero saber mais sobre o Sentry e sobre o Redis tbm
@rocketseat
@rocketseat 4 жыл бұрын
Valeu pela sugestão!! 💜💜
@abreuevandro
@abreuevandro 4 жыл бұрын
Diego, então a utilização desta lib dispensa, por exemplo, a utilização do RabbitMQ ?
@AllanClaudioMello
@AllanClaudioMello 4 жыл бұрын
Show de bola. Não ficou claro a parte do Redis, onde e qdo o Redis é executado em conjunto com o Node? Crio a fila, identifico a fila, mas não mostrou como recuperar a fila através do client, talvez em uma função de callback? Creio que caberia um 2o vídeo com um client simples em React ou Flutter consumindo essa API Node. Um exemplo de aplicação para isso seria o pagamento do PicPay feito através do QRCode, o client recebe o QRCode do PicPay, o usuario ler o QRCode com o App do PicPay, o processamento é feito pela API do PicPay e é retornado através de uma url de callback a Id e a Key do processamento. O aplicativo client recupera essa Id através da fila q foi criada na API do Node, consulta o status da transação, e confirma ou não o pagamento. Um client simples com uma tela mostraria isso. Pode ser?
@allefdouglas9693
@allefdouglas9693 5 жыл бұрын
No PC que estou programando está instalado o Win 7. Pra ele, só tem uma versão antiga do Redis, que infelizmente não tem suporte às funcionalidades usadas pelo Redis instalado no node_modules, que é usado pelo Bull. Uma pena não poder instalar o Redis. Mas ótima aula.
@hitsistemas365
@hitsistemas365 4 жыл бұрын
Sensacional. Essa mesma implementação serviria para o AdonisJS, ou precisaria fazer alguma alteração? Pois não achei nada relacioando na documentação do Bull nem na documentação do AdonisJS. Abs
@BillRocha
@BillRocha 5 жыл бұрын
SHOOOOWWW!
@lincolntx98
@lincolntx98 5 жыл бұрын
Diego você acha mais interessante usar o Redis ao invés do RabbitMQ?
@leonardocunha5765
@leonardocunha5765 5 жыл бұрын
Olá Diego é uma boa praticar salvar dados de CSV no banco usando fila?
@eberalves6748
@eberalves6748 Жыл бұрын
quando passo o options com delay de 5 segundos conforme exempĺo ele nao processa return queue.bull.add(data, queue.options);
@StanleySathler
@StanleySathler 3 жыл бұрын
Sempre temos uma fila pra cada tipo de job ou, dependendo do caso, temos uma grande fila pra aplicação inteira?
@danielteixeira8559
@danielteixeira8559 4 жыл бұрын
Rocketseat parabens pelo video, muito bom! mas eu fiquei com uma duvida: Porque que temos que criar uma nova fila de jobs a cada job? porque nao inserir um novo job dentro de uma fila unica!?
@rochaalex
@rochaalex 4 жыл бұрын
ótimo tutorial! mas, fiquei com uma dúvida.. Como pego o retorno? tipo, se der algum erro, quero mandar um e-mail para o responsável ou se deu tudo certo, quero atualizar uma base de dados.. como pegar este retorno?
@emersonfelinto
@emersonfelinto 4 жыл бұрын
Também tenho essa dúvida. Conseguiu resolver ?
@vitorgouveia5378
@vitorgouveia5378 3 жыл бұрын
eu acho que usando o .on() e vendo se tem alguma opção de sucesso
@odecioale
@odecioale 4 жыл бұрын
Board UI terá paginação ou filtro de pesquisa? Estou pensando em uma fila muito grande, por exemplo com mais de 1000 registros.
@maximilianosalvatti7073
@maximilianosalvatti7073 2 жыл бұрын
Poderiam ajudar a incluir a propriedade limiter no codigo do video? Se adicionado no job, em ADD não funciona, também tentei adicionar direto no quando é criado o Queue e não respeita o limiter, quero que seja executado 1 job por minuto, como faria? Obrigado.
@girvX
@girvX 5 жыл бұрын
Tô entendendo mais nada, pra que serve o Kafka ou rabbitmq? Tem tantas libs pro node que fico perdido
@TarcisioPqdt
@TarcisioPqdt 5 жыл бұрын
Ele sempre voa assim no conteúdo nós bootcamps?
@silasalcantara3721
@silasalcantara3721 5 жыл бұрын
RADICAL
@canalred3609
@canalred3609 5 жыл бұрын
Ensina a fazer multithread mo socketio
@crazyleo-ca
@crazyleo-ca 5 жыл бұрын
Poderia ter usado glob ao invés de criar um index.js pra inserir cada job dentro e exportar, ia ser mt mais automatizado.
SQL no Node.js com Sequelize | Masterclass #01
1:40:22
Rocketseat
Рет қаралды 250 М.
How to Start from ZERO in Node.js in Just ONE Lesson
1:31:36
Rocketseat
Рет қаралды 196 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН
人是不能做到吗?#火影忍者 #家人  #佐助
00:20
火影忍者一家
Рет қаралды 20 МЛН
O que é o Redis? E como utilizá-lo como cache?
15:19
LuizTools
Рет қаралды 16 М.
PROOF JavaScript is a Multi-Threaded language
8:21
Beyond Fireship
Рет қаралды 300 М.
Estrutura de pastas p/ Next.js (rotas privadas e públicas)
21:16
Deploy de apps Node.js | Masterclass #03
1:14:13
Rocketseat
Рет қаралды 85 М.
Background Jobs com NestJS - Code/drops #75
1:00:41
Rocketseat
Рет қаралды 30 М.
Node.js: Iniciando da teoria à prática | Masterclass #11
1:33:18
Rocketseat
Рет қаралды 177 М.
Tuna 🍣 ​⁠@patrickzeinali ​⁠@ChefRush
00:48
albert_cancook
Рет қаралды 148 МЛН