From 2da2b2dd39aeaebdc67e7efee83aeead4f4dcb66 Mon Sep 17 00:00:00 2001 From: Mauricio Siu <47042324+Siumauricio@users.noreply.github.com> Date: Fri, 29 Aug 2025 00:08:33 -0600 Subject: [PATCH] refactor(queues): migrate from BullMQ to p-limit for deployment management This commit introduces a new queue system using p-limit, addressing resource issues and improving job cancellation capabilities. Key changes include: - Removal of Redis dependency, allowing for in-memory queue management. - Implementation of per-server queues with ordered processing based on server concurrency settings. - Addition of helper functions for job management and status retrieval, ensuring backward compatibility with existing API endpoints. - Updates to database schema to support server concurrency settings. The legacy BullMQ code has been retained for compatibility but is no longer in active use. --- .../dashboard/application/general/show.tsx | 2 +- apps/dokploy/drizzle/0107_calm_power_pack.sql | 2 + apps/dokploy/drizzle/meta/0107_snapshot.json | 6438 +++++++++++++++++ apps/dokploy/drizzle/meta/_journal.json | 7 + apps/dokploy/package.json | 2 +- .../dokploy/server/api/routers/application.ts | 15 +- apps/dokploy/server/queues/README.md | 104 + .../server/queues/deployments-queue.ts | 172 +- apps/dokploy/server/queues/queueSetup.ts | 119 +- .../dokploy/server/queues/redis-connection.ts | 8 - apps/dokploy/server/queues/service-queue.ts | 500 ++ packages/server/src/db/schema/server.ts | 1 + packages/server/src/db/schema/user.ts | 1 + pnpm-lock.yaml | 14 +- 14 files changed, 7214 insertions(+), 171 deletions(-) create mode 100644 apps/dokploy/drizzle/0107_calm_power_pack.sql create mode 100644 apps/dokploy/drizzle/meta/0107_snapshot.json create mode 100644 apps/dokploy/server/queues/README.md delete mode 100644 apps/dokploy/server/queues/redis-connection.ts create mode 100644 apps/dokploy/server/queues/service-queue.ts diff --git a/apps/dokploy/components/dashboard/application/general/show.tsx b/apps/dokploy/components/dashboard/application/general/show.tsx index a8fef349b..9cabe5510 100644 --- a/apps/dokploy/components/dashboard/application/general/show.tsx +++ b/apps/dokploy/components/dashboard/application/general/show.tsx @@ -79,7 +79,7 @@ export const ShowGeneralApplication = ({ applicationId }: Props) => { >