fix: break circular dependency between queue-definitions and queue-service
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 45s
All checks were successful
Deploy API Server / build-and-deploy (push) Successful in 45s
Extract queue name constants to queue.constants.ts to resolve the require cycle that caused 'Cannot read properties of undefined' at startup. Both queue-definitions.ts and queue.service.ts now import from the shared constants file. Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
This commit is contained in:
parent
4fb652d273
commit
cdc228ccf0
@ -16,7 +16,7 @@ TimeoutStopSec=30
|
|||||||
# Environment
|
# Environment
|
||||||
Environment=NODE_ENV=production
|
Environment=NODE_ENV=production
|
||||||
Environment=PORT=3000
|
Environment=PORT=3000
|
||||||
EnvironmentFile=/opt/zhixi/api-server/.env
|
EnvironmentFile=/opt/zhixi/env/.env.production
|
||||||
|
|
||||||
# Security
|
# Security
|
||||||
NoNewPrivileges=yes
|
NoNewPrivileges=yes
|
||||||
|
|||||||
@ -9,7 +9,7 @@ After=zhixi-nest-api.service
|
|||||||
Type=simple
|
Type=simple
|
||||||
User=www-data
|
User=www-data
|
||||||
Group=www-data
|
Group=www-data
|
||||||
WorkingDirectory=/opt/zhixi/api-server
|
WorkingDirectory=/opt/zhixi/backend
|
||||||
ExecStart=/usr/bin/node dist/src/worker.main.js
|
ExecStart=/usr/bin/node dist/src/worker.main.js
|
||||||
Restart=always
|
Restart=always
|
||||||
RestartSec=10
|
RestartSec=10
|
||||||
@ -19,7 +19,7 @@ TimeoutStopSec=60
|
|||||||
|
|
||||||
# Environment
|
# Environment
|
||||||
Environment=NODE_ENV=production
|
Environment=NODE_ENV=production
|
||||||
EnvironmentFile=/opt/zhixi/api-server/.env
|
EnvironmentFile=/opt/zhixi/env/.env.production
|
||||||
|
|
||||||
# Memory limit (Worker jobs may consume memory)
|
# Memory limit (Worker jobs may consume memory)
|
||||||
MemoryMax=512M
|
MemoryMax=512M
|
||||||
@ -28,7 +28,7 @@ MemoryMax=512M
|
|||||||
NoNewPrivileges=yes
|
NoNewPrivileges=yes
|
||||||
ProtectSystem=strict
|
ProtectSystem=strict
|
||||||
ProtectHome=yes
|
ProtectHome=yes
|
||||||
ReadWritePaths=/opt/zhixi/api-server/uploads
|
ReadWritePaths=/opt/zhixi/backend/uploads
|
||||||
|
|
||||||
# Logging
|
# Logging
|
||||||
StandardOutput=journal
|
StandardOutput=journal
|
||||||
|
|||||||
@ -5,7 +5,7 @@ import {
|
|||||||
QUEUE_DOMAIN_EVENTS,
|
QUEUE_DOMAIN_EVENTS,
|
||||||
QUEUE_AUDIT_LOG,
|
QUEUE_AUDIT_LOG,
|
||||||
QUEUE_FILE_CLEANUP,
|
QUEUE_FILE_CLEANUP,
|
||||||
} from './queue.service';
|
} from './queue.constants';
|
||||||
|
|
||||||
// ═══════════════════════════════════════════════════════════════════════
|
// ═══════════════════════════════════════════════════════════════════════
|
||||||
// Queue Definition Registry
|
// Queue Definition Registry
|
||||||
|
|||||||
6
src/infrastructure/queue/queue.constants.ts
Normal file
6
src/infrastructure/queue/queue.constants.ts
Normal file
@ -0,0 +1,6 @@
|
|||||||
|
export const QUEUE_AI_ANALYSIS = 'ai-analysis';
|
||||||
|
export const QUEUE_DOCUMENT_IMPORT = 'document-import';
|
||||||
|
export const QUEUE_NOTIFICATION = 'notification';
|
||||||
|
export const QUEUE_DOMAIN_EVENTS = 'domain-events';
|
||||||
|
export const QUEUE_AUDIT_LOG = 'audit-logs';
|
||||||
|
export const QUEUE_FILE_CLEANUP = 'file-cleanup';
|
||||||
@ -6,12 +6,22 @@ import { PrismaService } from '../database/prisma.service';
|
|||||||
import { Queue } from 'bullmq';
|
import { Queue } from 'bullmq';
|
||||||
import { defaultJobOptionsFor } from './queue-definitions';
|
import { defaultJobOptionsFor } from './queue-definitions';
|
||||||
|
|
||||||
export const QUEUE_AI_ANALYSIS = 'ai-analysis';
|
export {
|
||||||
export const QUEUE_DOCUMENT_IMPORT = 'document-import';
|
QUEUE_AI_ANALYSIS,
|
||||||
export const QUEUE_NOTIFICATION = 'notification';
|
QUEUE_DOCUMENT_IMPORT,
|
||||||
export const QUEUE_DOMAIN_EVENTS = 'domain-events';
|
QUEUE_NOTIFICATION,
|
||||||
export const QUEUE_AUDIT_LOG = 'audit-logs';
|
QUEUE_DOMAIN_EVENTS,
|
||||||
export const QUEUE_FILE_CLEANUP = 'file-cleanup';
|
QUEUE_AUDIT_LOG,
|
||||||
|
QUEUE_FILE_CLEANUP,
|
||||||
|
} from './queue.constants';
|
||||||
|
import {
|
||||||
|
QUEUE_AI_ANALYSIS,
|
||||||
|
QUEUE_DOCUMENT_IMPORT,
|
||||||
|
QUEUE_NOTIFICATION,
|
||||||
|
QUEUE_DOMAIN_EVENTS,
|
||||||
|
QUEUE_AUDIT_LOG,
|
||||||
|
QUEUE_FILE_CLEANUP,
|
||||||
|
} from './queue.constants';
|
||||||
|
|
||||||
@Injectable()
|
@Injectable()
|
||||||
export class QueueService {
|
export class QueueService {
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user