Overview
@nestjs/bull and bull are installed in package.json but never configured. Async processing (email sending, report generation, Stellar transactions, notification dispatch) must not block HTTP request handlers. This issue sets up the queue infrastructure that all async features will use.
Context
package.json has @nestjs/bull@11.0.4 and bull@4.16.5 installed
- Redis connection will be shared with the caching layer (BE-05)
- Queue names should be centralised in a constants file to avoid magic strings across modules
.env.example needs REDIS_HOST and REDIS_PORT added
Acceptance Criteria
Overview
@nestjs/bullandbullare installed inpackage.jsonbut never configured. Async processing (email sending, report generation, Stellar transactions, notification dispatch) must not block HTTP request handlers. This issue sets up the queue infrastructure that all async features will use.Context
package.jsonhas@nestjs/bull@11.0.4andbull@4.16.5installed.env.exampleneedsREDIS_HOSTandREDIS_PORTaddedAcceptance Criteria
REDIS_HOST(default: localhost) andREDIS_PORT(default: 6379) tobackend/.env.exampleBullModule.forRootAsync()inAppModuleusingConfigServicefor the Redis connectionsrc/queue/queue.constants.tswith exported queue name constants (e.g.,MAIL_QUEUE,NOTIFICATION_QUEUE,REPORT_QUEUE,STELLAR_QUEUE)src/queue/queue.module.tsthat other modules import to register specific queuesqueue.module.ts