Rocketseat / adonis-bull

The easiest way to start using an asynchronous job queue with AdonisJS. Ready for Adonis v5 ⚡️
MIT License
310 stars 57 forks source link

Warning: Adonis has detected an unhandled promise rejection #22

Closed Heitorh3 closed 4 years ago

Heitorh3 commented 4 years ago

Adonis esta laçando esse warning quando iniciado. WARNING: Adonis has detected an unhandled promise rejection, which may cause undesired behavior in production. To stop this warning, use catch() on promises or wrap await calls inside try/catch.

Error: connect ECONNREFUSED 127.0.0.1:6379 at TCPConnectWrap.afterConnect [as oncomplete] (net.js:1129:14) { errno: 'ECONNREFUSED', code: 'ECONNREFUSED', syscall: 'connect', address: '127.0.0.1', port: 6379 }

HigoRibeiro commented 4 years ago

Fala @Heitorh3 como está seu arquivo config/bull.js? Está ligado o redis na sua máquina?

rodrigorz commented 4 years ago

Estou obtendo esse mesmo erro, porém estou utilizando docker e acontece somente quando executo os testes do adonis.

Quando executo a aplicação, fazendo a requisição pelo Postman, funciona normalmente.

Por que será que nos testes da esse problema?

HigoRibeiro commented 4 years ago

Fala @rodrigorz , como está seu arquivo .env.testing?

Quando você executa o test está com o docker ligado normalmentE?

rodrigorz commented 4 years ago

@HigoRibeiro achei o problema.

Como o redis está em um container e a API em outro, os testes precisam ser executados de dentro do container da API (eu estava executando da minha máquina local). Por isso ele não conectava, já que eu passava o nome do container do redis como host.

Porém agora estou enfrentando outro erro: 1. it should send an email with reset password instructions Error: Test timeout, ensure "done()" is called; if returning a Promise, ensure it resolves. at Test._parseError (/home/node/app/node_modules/japa/src/Test.js:109:16) at /home/node/app/node_modules/japa/src/Test.js:195:21.

Vou ver se consigo alterar o timeout desse único teste.

rodrigorz commented 4 years ago

@HigoRibeiro achei o problema.

Como o redis está em um container e a API em outro, os testes precisam ser executados de dentro do container da API (eu estava executando da minha máquina local). Por isso ele não conectava, já que eu passava o nome do container do redis como host.

Porém agora estou enfrentando outro erro: 1. it should send an email with reset password instructions Error: Test timeout, ensure "done()" is called; if returning a Promise, ensure it resolves. at Test._parseError (/home/node/app/node_modules/japa/src/Test.js:109:16) at /home/node/app/node_modules/japa/src/Test.js:195:21.

Vou ver se consigo alterar o timeout desse único teste.

Resolvido! Apenas aumentando o timeout do teste.