Skip to content

Queue with Bull and Redis to send Emails on diferent process

Notifications You must be signed in to change notification settings

mourabraz/nestjs-queue-email-example

Repository files navigation

Envio de email com filas sendo execitadas em outro processo dentro do NestJS

Using queue to send emails in another process

  • O envio dos dados necessário para o envio dos email são salvos no banco de dados do Redis
  • O mesmo banco é usado tanto pela aplicação principal como pela aplicação da fila
  • A comunicação com o banco de dados é realizada por meio de websockets

As dependências necessárias:

$ npm i --save @nestjs/websockets @nestjs/platform-socket.io
$ npm i --save-dev @types/socket.io
$ npm i --save socket.io-redis
$ npm i --save-dev @types/socket.io-redis
  • nodemailer com handlebars
$ yarn add @nestjs-modules/mailer nodemailer handlebars
  • config com arquivo .env com validação do hapi (renomear o arquivo .env.example para .env)
$ yarn add @hapi/joi @nestjs/config
yarn add @types/hapi__joi -D
  • Para que a pasta views fique disponível dentro da pasta dist deve alterar o arquivo nest-cli.json:
{
  "collection": "@nestjs/schematics",
  "sourceRoot": "src",
  "compilerOptions": {
    "assets": ["views/**/*"]
  }
}
  • Nota: dentro do arquivo queue.module.ts a importação do consumer deve vir antes da conecção com o redis: (EmailConsumer before RedisReusableConnection on queue.module.ts)
// queue.module.ts
import { EmailConsumer } from './email.consumer';
import { RedisReusableConnection } from './redis-reusable-connection';

About

Queue with Bull and Redis to send Emails on diferent process

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published