
āļāļīāļ§āļāđāļ§āļĒ Bull
Bull queues, processors, jobs, jobs āļāļĩāđāļŦāļāđāļ§āļāđāļ§āļĨāļē, āļĨāļģāļāļąāļāļāļ§āļēāļĄāļŠāļģāļāļąāļ, retries, āđāļŦāļāļļāļāļēāļĢāļāđ
1Bull āļāļ·āļāļāļ°āđāļĢāđāļāļāļĢāļīāļāļāļāļāļ NestJS?
Bull āļāļ·āļāļāļ°āđāļĢāđāļāļāļĢāļīāļāļāļāļāļ NestJS?
āļāļģāļāļāļ
Bull āđāļāđāļāđāļĨāļāļĢāļēāļĢāļĩ Node.js āļŠāļģāļŦāļĢāļąāļāļāļąāļāļāļēāļĢāļāļīāļ§ (queues) āđāļāļāļāļēāļ§āļĢāļāļĩāđāļāļīāļāļāļąāļ Redis āļāđāļ§āļĒāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļĢāļąāļāļāļēāļāđāļāļ·āđāļāļāļŦāļĨāļąāļāđāļāļāļāļ°āļāļīāļāđāļāļĢāļāļąāļŠ āļāļąāļāļāļēāļĢāļĨāļģāļāļąāļāļāļ§āļēāļĄāļŠāļģāļāļąāļ retries āđāļĨāļ° delayed jobs āđāļāđ NestJS āļĄāļĩāđāļĄāļāļđāļĨ @nestjs/bull āļāļĩāđāļĢāļ§āļĄ Bull āđāļāđāļēāļāļąāļāļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāđāļāļāđāļĄāļāļđāļĨāļāļāļ framework āđāļāļĒāļāļĢāļ āļāļģāđāļŦāđāļŠāļĢāđāļēāļ workers āđāļĨāļ°āļāļąāļāļāļēāļĢ jobs āļāļĩāđāļŦāļāļąāļāļŦāļĢāļ·āļāļāļģāļāļēāļāļĒāļēāļ§āļāļēāļāđāļāđāļāđāļēāļĒ
2processor āļĄāļĩāļāļāļāļēāļāļāļĒāđāļēāļāđāļĢāđāļ Bull?
processor āļĄāļĩāļāļāļāļēāļāļāļĒāđāļēāļāđāļĢāđāļ Bull?
āļāļģāļāļāļ
processor āļāļ·āļāļāļąāļāļāđāļāļąāļāļāļĩāđāļāļĢāļ°āļĄāļ§āļĨāļāļĨ jobs āļāļēāļ queue āđāļĄāļ·āđāļāļĄāļĩ job āļāļđāļāđāļāļīāđāļĄāđāļāđāļēāđāļāđāļ queue Bull āļāļ°āđāļĢāļĩāļĒāļ processor āļāļĩāđāđāļāļĩāđāļĒāļ§āļāđāļāļāđāļāļĒāļāļąāļāđāļāļĄāļąāļāļīāđāļāļ·āđāļāļĢāļąāļāļĨāļāļāļīāļāļāļēāļāļāļļāļĢāļāļīāļ processor āļĢāļąāļ job āđāļāđāļāļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāđāļĨāļ°āļŠāļēāļĄāļēāļĢāļāđāļāđāļēāļāļķāļāļāđāļāļĄāļđāļĨāļāđāļēāļ job.data āđāļāđ āļĄāļąāļāļŠāļēāļĄāļēāļĢāļāđāļāđāļāđāļāļ synchronous āļŦāļĢāļ·āļ asynchronous āđāļĨāļ°āļāđāļāļāļāļ·āļāļāđāļēāļŦāļĢāļ·āļ Promise āđāļāļ·āđāļāđāļāđāļāļ§āđāļē job āđāļŠāļĢāđāļāļŠāļĄāļāļđāļĢāļāđ
3āļāļ°āđāļāļīāđāļĄ job āđāļāđāļēāđāļāđāļ queue āļāļāļ Bull āđāļ NestJS āđāļāđāļāļĒāđāļēāļāđāļĢ?
āļāļ°āđāļāļīāđāļĄ job āđāļāđāļēāđāļāđāļ queue āļāļāļ Bull āđāļ NestJS āđāļāđāļāļĒāđāļēāļāđāļĢ?
āļāļģāļāļāļ
āđāļāļāļēāļĢāđāļāļīāđāļĄ job āđāļŦāđ inject queue āļāđāļēāļ @InjectQueue('queueName') āđāļĨāđāļ§āđāļāđāđāļĄāļāļāļ add() āđāļĄāļāļāļāļāļĩāđāļĢāļąāļāļāļēāļĢāļēāļĄāļīāđāļāļāļĢāđāđāļŠāļĢāļīāļĄ āđāļāđāđāļāđ āļāļ·āđāļ job, āļāđāļāļĄāļđāļĨāļāļĩāđāļāļ°āļāļĢāļ°āļĄāļ§āļĨāļāļĨ (payload) āđāļĨāļ°āļāļąāļ§āđāļĨāļ·āļāļāđāļāđāļ delay, priority, attempts āđāļĄāļāļāļāļāļ°āļāļ·āļ Promise āļāļĩāđāļĄāļĩ job āļāļĩāđāļāļđāļāļŠāļĢāđāļēāļāļāļĢāđāļāļĄ ID āđāļāļāļēāļ° āļāļģāđāļŦāđāļŠāļēāļĄāļēāļĢāļāļāļīāļāļāļēāļĄāļŦāļĢāļ·āļāļāļąāļāļāļēāļĢāđāļāļ āļēāļĒāļŦāļĨāļąāļāđāļāđ
Redis āļĄāļĩāļŦāļāđāļēāļāļĩāđāļāļ°āđāļĢāđāļāļŠāļāļēāļāļąāļāļĒāļāļĢāļĢāļĄāļāļāļ Bull?
āļāļ°āļāļģāļŦāļāļ delayed job āđāļ Bull āđāļāđāļāļĒāđāļēāļāđāļĢ?
+17 āļāļģāļāļēāļĄāļŠāļąāļĄāļ āļēāļĐāļāđ
āļŦāļąāļ§āļāđāļāļŠāļąāļĄāļ āļēāļĐāļāđ Node.js / NestJS āļāļ·āđāļāđ
āļāļ·āđāļāļāļēāļ Node.js
Core API āļāļāļ Node.js
āļāļēāļĢāđāļāļĩāļĒāļāđāļāļĢāđāļāļĢāļĄāđāļāļāļāļ°āļāļīāļāđāļāļĢāļāļąāļŠ
āļāļ·āđāļāļāļēāļ Express.js
āļāļ·āđāļāļāļēāļ NestJS
āļāļēāļĢāļāļāļāđāļāļ REST API
āļāļēāļĢāļāļĢāļ§āļāļŠāļāļāļāļ§āļēāļĄāļāļđāļāļāđāļāļāđāļĨāļ° DTO
āđāļāļāļŠāļēāļĢ API āđāļĨāļ° Contract
āļāļēāļĢāļāļąāļāļāļēāļĢāļāđāļāļāļīāļāļāļĨāļēāļ
āļāļēāļĢāļāļāļŠāļāļāļŦāļāđāļ§āļĒ (Unit Testing)
āļāļēāļĢāļāļąāļāļāļēāļĢāļēāļāļāļēāļ
Module āđāļĨāļ° DI āļāļāļ NestJS
āļāļēāļĢāļāļģāļŦāļāļāļāđāļēāđāļĨāļ°āļāļēāļĢāļāļąāļāļāļēāļĢāļŠāļ āļēāļāđāļ§āļāļĨāđāļāļĄ
āļāļēāļĢāļĒāļ·āļāļĒāļąāļāļāļąāļ§āļāļāļāđāļ§āļĒ JWT
āļāļēāļĢāđāļŦāđāļŠāļīāļāļāļīāđāđāļĨāļ° RBAC
āļāļēāļāļāđāļāļĄāļđāļĨāļāđāļ§āļĒ TypeORM
Prisma ORM
Middleware āđāļĨāļ° Interceptor
āļāļēāļĢāļāļąāļāđāļŦāļĨāļāđāļāļĨāđ
WebSockets
GraphQL āļāļąāļ NestJS
āļāļēāļĢāļāļāļŠāļāļāđāļāļ End-to-End
āļāļēāļĢāđāļāļāļāđāļ§āļĒ Redis
DevOps, Logging āđāļĨāļ° CI/CD
Docker āđāļĨāļ° Containerization
āđāļĄāđāļāļĢāđāļāļāļĢāđāļ§āļīāļŠ
āđāļāļ§āļāļēāļāļāļāļīāļāļąāļāļīāļāļĩāđāļāļĩāļāļĩāđāļŠāļļāļāļāđāļēāļāļāļ§āļēāļĄāļāļĨāļāļāļ āļąāļĒ
āļāļĢāļ°āļŠāļīāļāļāļīāļ āļēāļāđāļĨāļ°āļāļēāļĢ Deploy āļāļ Cloud
āđāļāļĩāđāļĒāļ§āļāļēāļ Node.js / NestJS āļŠāļģāļŦāļĢāļąāļāļāļēāļĢāļŠāļąāļĄāļ āļēāļĐāļāđāļāļĢāļąāđāļāļāļąāļāđāļ
āđāļāđāļēāļāļķāļāļāļģāļāļēāļĄāļāļąāđāļāļŦāļĄāļ flashcards āđāļāļāļāļāļŠāļāļāđāļāļāļāļīāļ āđāļāļāļāļķāļāļŦāļąāļ code review āđāļĨāļ°āļāļąāļ§āļāļģāļĨāļāļāļŠāļąāļĄāļ āļēāļĐāļāđ
āđāļĢāļīāđāļĄāđāļāđāļāļĢāļĩ