ever-co / ever-gauzy

Ever® Gauzy™ - Open Business Management Platform (ERP/CRM/HRM/ATS/PM) - https://gauzy.co
https://gauzy.co
GNU Affero General Public License v3.0
2.24k stars 528 forks source link

[Feature] Implement Job Queue Management with Redis and In-Memory Fallback #7940

Open rahul-rocket opened 3 months ago

rahul-rocket commented 3 months ago

Integrate "Job Queue" management into the Gauzy API. Utilize Redis for efficient job processing in production environments, with an in-memory fallback for local development scenarios. Additionally, abstract the job queue implementation to allow flexibility in choosing between Bull, Trigger.dev, or other libraries, and organize implementations into separate packages.

References:

NestJS Queues Documentation Trigger.dev Documentation

Notes:

  1. Ensure each job queue implementation resides in its own package/module for modular and configurable deployment.
  2. Configure the application to allow users to switch between different job queue implementations based on environment configurations.
rahul-rocket commented 3 months ago

Summary

By following these steps, you create an abstract solution for job queue management in your application:

This approach allows you to easily switch between different job queue implementations (such as Bull, Trigger.dev, or others) without tightly coupling your application to a specific library, promoting modularity and flexibility.