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,