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
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!
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
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!
Ó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.
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
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!
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!
Ó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.
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).
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).
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...
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?
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.
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) ??
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
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!?
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.
ó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?
Ao acessar a rota do Bullboard eu só recebo na tela loading... Porém aparentemente minha fila está sendo processada normalmente, estou fazendo a requisição e está dando tudo certo na resposta que necessito. Alguém tem noção de algo?
Alguem mais com problema no metodo que o job dispara pra acessar uma Model que acessao o banco de dados via Sequelize ?? ao importar a model no começo do arquivo e tentar usa-la parece que a mesma esta Nula
meu docker não executa no localhost ele usa uma maquina virtual sei la o porque. fiquei horas tentando user esse redisConfig na linha const mailQueue = new Queue(RegistrationMail.key, redisConfig); Não adianta ele não muda as configs de conexão.... eu alterei isso na propria lib do Bull um arquivo chamado queue.js.... agora conectou corretamente
Fico impressionado com a didática do Diego! Eu prefiro quando a explicação é rápida, sem enrolação. Parabéns pelo excelente trabalho!
Conteúdo de alto nível e de extrema importância, coisa que não se ver nem nos cursos pagos. Obrigado, ajudou muito.
I bumped into this video recently, although I do not understand the language, seeing you code made me understand alot.
The most recent videos are already subtitled.
Que conteúdo irado, poderia fazer um masterclass adonisjs e o redis se for possível utilizar.
Como eu aprendo cosias novas cada dica com a Rocketseat. Diego você é fera cara!
Sensacional, parabéns! Faz no AdonisJS e a aula sobre o Sentry!
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
Boa tarde. Você fez o GoStack? Pode contar um pouco da experiência? Estou interessado no bootcamp. Obrigado
Que material extraordinário. Meus parabéns pelo ótimo conteúdo. Material completo, passando por cada fase.
Conteúdo de curso no TH-cam. Parabéns!
Diego, sou fã da rocketseat, e esta master class ficou 5 estrelas! Uma master class sobre o sentry seria ótimo! Valeu por compartilhar conhecimento!
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
Faala, Daniel! Valeu pelo feedback e pela sugestão! 💜
Muito bom!! Clareou todos os meus problemas. Obrigado!!
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!
Sensacional! Parabéns ao time da Rocketseat por mais essa super masterclass.
Caramba, muito bom!! Super bem explicado e direto ao ponto.
Parabéns Diego! vídeo sensacional
Muito bom!!! Faz sim! um vídeo sobre o Sentry
Excelente o conteúdo aprendi bastante, sobre Redis e continuo aprendendo ... show de bola.
Vaaleu, Marcos! 💜
Esse cara é incrível!
Perfeito. Consegui aprender muito sobre background jobs. Muito obrigado
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
Muiito massa, esse bull parece uma melhor alternativa ao bee mesmo
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!
Velho mudou minha vida isso ....Muito bom. E se possível grava uma aula sobre sentry
Muito bom!
Aguardando o vídeo sobre Sentry!
Chegou na hora certa ! Obrigado
Excelente conteúdo, didática e exemplificação. Grato.
Ó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.
Novamente conteúdo foda. Parabéns Rocket!
Uma masterclass que eu gostaria de ver é como configurar websockets no Redux/Redux-Sagas.
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
Show de bola como sempre.
Só conteúdo sensacional!
Top como sempre Diego, muito bom!
Show... aguardar sobre o sentry
Conteúdo extremamente valioso. Muito obrigado Diego!
Valeeu pelo feedback! 💜 Diego arrasa né? 💜
Incrível, esclareceu muitas dúvidas.
Top de mais esse video......Valeu..... um video sobre sentry seria top tmb......
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!
Muitíssimo Obrigado por esta aula, sensacional. :)
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!
Poxa, valeu pela dica, Bruno! 💜
Valew! sei não nao devem olhar os pull requests antigos, mas criei um lah pra resolver isso..valew!! novamente..
Boaa, tava procurando no google e nada de encontrar a solução. Obrigado!!!
graaaacias!
valeeeu, me ajudou bastante
Parabéns, conteúdo muito bom!
Parabéns pelo conteúdo!!!
Ó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.
Top demaaaaais...
Faz um vídeo de Sentry 😁
Por favor. Queria te pedir que grave com uma tela menor. Para melhor visualização em celular. Obrigado. Bom conteúdo. Parabéns
Parabéns conteúdo rico em informações.
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).
Também fiquei em dúvida de como fazer isto. Procurei algo a respeito e não encontrei. Tu chegou a fazer algo?
@@rodrigofuhr8965 eu estou usando o plugin que o pessoal da Rocket fez.
Procura aí: Rocketseat/adonis-bull
Mais um vídeo épico 😁, obrigado.
Que massa Saulo! Valeu pelo feedback!! 💜
Show!! na aula do sentry pode ter tmb algo sobre reset da api num erro grave que para tudo :)
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!
aula nota 10👏
Diego, faz uma aula sobre o Sentry sim :)
🔥🔥🔥
Show, fale mais sobre o sentry
Esperando o video sobre Sentry :D
Oi Diego. Faz a próxima sobre websocket. Valeu!
Seria muito bacana falar sobre o sentry.
Diego queria muito ver você fazendo um coteudo utilizando o redis + rabbitmq agradeço demais
Caramba muito massa o conteúdo!
Fala, Rodrigo! Valeeeu pelo feedback! 💜💜
Por favor faça um video sobre usar Bull com AdonisJS 🙏 estou precisando MUITO e não encontro jeito de fazer funcionar.
github.com/Rocketseat/adonis-bull
Vídeo muito top 😍😍😍😍
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).
Época que o Diego usava .js haha
Faz um vídeo novo só que agora com BullMq
SEN-SA-CIO-NAL!!!
Como de costume, TOOOOP
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...
tenho a mesma duvida, sabe dizer se encontrou esse conteúdo em outro lugar por ai?
Minha duvida também. conseguiu solucionar?
#PR eu fiquei com a mesma dúvida sobre como rodar a fila em um servidor externo
Quero saber mais sobre o Sentry e sobre o Redis tbm
Valeu pela sugestão!! 💜💜
Diego, faz um vídeo de como utilizar redux no Next.js
Incrivel como sempre
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?
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.
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) ??
tú éis um anjo kkkk me salvou legal kkk
Ensina a fazer multithread mo socketio
Existe uma forma de integrar Bull com NextJS? Queria saber como processar Queues de forma assincrona.
Diego, então a utilização desta lib dispensa, por exemplo, a utilização do RabbitMQ ?
SENSACIONAL!!!
Excelente!
E se algo falhar, conseguimos automatizar para que volte para a fila o erro?
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
quando passo o options com delay de 5 segundos conforme exempĺo ele nao processa
return queue.bull.add(data, queue.options);
obrigado
💜
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!?
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.
excelente! top
Board UI terá paginação ou filtro de pesquisa? Estou pensando em uma fila muito grande, por exemplo com mais de 1000 registros.
ó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?
Também tenho essa dúvida. Conseguiu resolver ?
eu acho que usando o .on() e vendo se tem alguma opção de sucesso
Muito massa
Olá Diego é uma boa praticar salvar dados de CSV no banco usando fila?
Tô entendendo mais nada, pra que serve o Kafka ou rabbitmq? Tem tantas libs pro node que fico perdido
Diego você acha mais interessante usar o Redis ao invés do RabbitMQ?
Sempre temos uma fila pra cada tipo de job ou, dependendo do caso, temos uma grande fila pra aplicação inteira?
Animal! vlw!
Ao acessar a rota do Bullboard eu só recebo na tela loading... Porém aparentemente minha fila está sendo processada normalmente, estou fazendo a requisição e está dando tudo certo na resposta que necessito.
Alguém tem noção de algo?
Ele sempre voa assim no conteúdo nós bootcamps?
Muito bom
Da pra instalar redis no windows 7 32 bits?
muito bom!!
Alguem mais com problema no metodo que o job dispara pra acessar uma Model que acessao o banco de dados via Sequelize ?? ao importar a model no começo do arquivo e tentar usa-la parece que a mesma esta Nula
meu docker não executa no localhost ele usa uma maquina virtual sei la o porque. fiquei horas tentando user esse redisConfig na linha const mailQueue = new Queue(RegistrationMail.key, redisConfig);
Não adianta ele não muda as configs de conexão.... eu alterei isso na propria lib do Bull um arquivo chamado queue.js.... agora conectou corretamente
Poderia ter usado glob ao invés de criar um index.js pra inserir cada job dentro e exportar, ia ser mt mais automatizado.
show
Valeeu Khalleb! 💜💜