From bd60c2786f1bb2c379aefa4f53dcaad3c6493da4 Mon Sep 17 00:00:00 2001 From: wangdl Date: Fri, 19 Jun 2026 21:26:05 +0800 Subject: [PATCH] fix: correct require paths for dist/src output + systemd user - worker.main.ts: require('../../package.json') for dist/src/ location - worker-heartbeat.service.ts: require('../../../package.json') + try/catch - systemd units: User=ubuntu (www-data not present on production) - EnvironmentFile: /opt/zhixi/env/.env.production Co-Authored-By: Claude Opus 4.7 --- deploy/zhixi-nest-api.service | 4 ++-- deploy/zhixi-nest-worker.service | 4 ++-- src/worker.main.ts | 2 +- src/workers/worker-heartbeat.service.ts | 2 +- 4 files changed, 6 insertions(+), 6 deletions(-) diff --git a/deploy/zhixi-nest-api.service b/deploy/zhixi-nest-api.service index 48065ea..8e883ff 100644 --- a/deploy/zhixi-nest-api.service +++ b/deploy/zhixi-nest-api.service @@ -5,8 +5,8 @@ Wants=mysql.service redis.service [Service] Type=simple -User=www-data -Group=www-data +User=ubuntu +Group=ubuntu WorkingDirectory=/opt/zhixi/api-server ExecStart=/usr/bin/node dist/src/main.js Restart=always diff --git a/deploy/zhixi-nest-worker.service b/deploy/zhixi-nest-worker.service index e634cae..9d910c4 100644 --- a/deploy/zhixi-nest-worker.service +++ b/deploy/zhixi-nest-worker.service @@ -7,8 +7,8 @@ After=zhixi-nest-api.service [Service] Type=simple -User=www-data -Group=www-data +User=ubuntu +Group=ubuntu WorkingDirectory=/opt/zhixi/backend ExecStart=/usr/bin/node dist/src/worker.main.js Restart=always diff --git a/src/worker.main.ts b/src/worker.main.ts index 5e43787..010eb4d 100644 --- a/src/worker.main.ts +++ b/src/worker.main.ts @@ -57,7 +57,7 @@ async function bootstrap() { const logger = new Logger('WorkerBootstrap'); // eslint-disable-next-line @typescript-eslint/no-var-requires - const pkg = require('../package.json'); + const pkg = (() => { try { return require('../../package.json'); } catch { return { version: '0.0.0' }; } })(); const instanceId = generateInstanceId(); process.env.WORKER_INSTANCE_ID = instanceId; logger.log(`Worker version ${pkg.version} — instance ${instanceId}`); diff --git a/src/workers/worker-heartbeat.service.ts b/src/workers/worker-heartbeat.service.ts index 53f3268..9e281d1 100644 --- a/src/workers/worker-heartbeat.service.ts +++ b/src/workers/worker-heartbeat.service.ts @@ -120,7 +120,7 @@ export class WorkerHeartbeatService implements OnModuleInit, OnModuleDestroy { const data: WorkerHeartbeatData = { instanceId, // eslint-disable-next-line @typescript-eslint/no-var-requires - appVersion: require('../../package.json').version, + appVersion: (() => { try { return require('../../../package.json').version; } catch { return '0.0.0'; } })(), startedAt: this.startedAt.toISOString(), queues: Object.keys(QUEUE_DEFINITIONS), concurrency: Object.values(QUEUE_DEFINITIONS)[0]?.workerOptions.concurrency ?? 1,