diff --git a/backend/src/core/README.md b/backend/src/core/README.md index d0204b9..0b45fbf 100644 --- a/backend/src/core/README.md +++ b/backend/src/core/README.md @@ -13,13 +13,13 @@ The `DistributedLockService` in `redis.ts` provides Redis-based distributed lock **All scheduled jobs MUST use distributed locking** to prevent duplicate execution when multiple backend containers are running. ```typescript +import { randomUUID } from 'crypto'; import { lockService } from '../core/config/redis'; -import { v4 as uuidv4 } from 'uuid'; // Acquire lock (returns false if already held) const lockKey = 'job:my-scheduled-task'; -const lockValue = uuidv4(); // Unique identifier for this execution -const ttlSeconds = 300; // Auto-release after 5 minutes +const lockValue = randomUUID(); // Unique identifier for this execution +const ttlSeconds = 300; // Auto-release after 5 minutes const acquired = await lockService.acquireLock(lockKey, ttlSeconds, lockValue); if (!acquired) { diff --git a/backend/src/core/scheduler/README.md b/backend/src/core/scheduler/README.md index 49ab75b..ea573a4 100644 --- a/backend/src/core/scheduler/README.md +++ b/backend/src/core/scheduler/README.md @@ -22,13 +22,13 @@ The scheduler runs periodic background jobs. In blue-green deployments, **multip ### Pattern for New Jobs ```typescript -import { v4 as uuidv4 } from 'uuid'; +import { randomUUID } from 'crypto'; import { lockService } from '../../core/config/redis'; import { logger } from '../../core/logging/logger'; export async function processMyJob(): Promise { const lockKey = 'job:my-job-name'; - const lockValue = uuidv4(); + const lockValue = randomUUID(); const lockTtlSeconds = 300; // 5 minutes - adjust based on expected job duration // Try to acquire lock diff --git a/backend/src/features/backup/jobs/backup-scheduled.job.ts b/backend/src/features/backup/jobs/backup-scheduled.job.ts index 1a9d4fe..3d0c03b 100644 --- a/backend/src/features/backup/jobs/backup-scheduled.job.ts +++ b/backend/src/features/backup/jobs/backup-scheduled.job.ts @@ -5,7 +5,7 @@ */ import { Pool } from 'pg'; -import { v4 as uuidv4 } from 'uuid'; +import { randomUUID } from 'crypto'; import { logger } from '../../../core/logging/logger'; import { lockService } from '../../../core/config/redis'; import { BackupRepository } from '../data/backup.repository'; @@ -59,7 +59,7 @@ export async function processScheduledBackups(): Promise