api-server/deploy/zhixi-nest-worker.service
wangdl 4fb652d273
Some checks failed
Deploy API Server / build-and-deploy (push) Failing after 39s
feat: M-AI-01 Worker 进程边界与部署收口(全 8 个 Issue)
M-AI-01-01: ADR-001 统一 AI 架构决策记录 + 附录 A 依赖闭包审计
M-AI-01-02: Worker 执行依赖闭包审计(附录 A 文档)
M-AI-01-03: 分离 AppModule/WorkerModule Processor 注册
M-AI-01-04: 统一 Queue Definition Registry + 环境变量覆盖
M-AI-01-05: 独立 Worker 启动与生命周期(instanceId/校验/优雅关闭)
M-AI-01-06: Docker + systemd 部署拓扑(unit 文件 + 回滚文档)
M-AI-01-07: Worker Heartbeat(Redis TTL 90s)+ Admin 在线状态 API
M-AI-01-08: 集成验收脚本

Co-Authored-By: Claude Opus 4.7 <noreply@anthropic.com>
2026-06-19 21:22:48 +08:00

40 lines
962 B
Desktop File

[Unit]
Description=zhixi NestJS Worker (BullMQ Processor)
After=network.target mysql.service redis.service
Wants=mysql.service redis.service
# Start after API is up (API runs Prisma migration on start)
After=zhixi-nest-api.service
[Service]
Type=simple
User=www-data
Group=www-data
WorkingDirectory=/opt/zhixi/api-server
ExecStart=/usr/bin/node dist/src/worker.main.js
Restart=always
RestartSec=10
TimeoutStopSec=60
# Worker needs extra time: BullMQ graceful shutdown waits for active jobs,
# then SIGKILL from systemd after TimeoutStopSec provides hard deadline.
# Environment
Environment=NODE_ENV=production
EnvironmentFile=/opt/zhixi/api-server/.env
# Memory limit (Worker jobs may consume memory)
MemoryMax=512M
# Security
NoNewPrivileges=yes
ProtectSystem=strict
ProtectHome=yes
ReadWritePaths=/opt/zhixi/api-server/uploads
# Logging
StandardOutput=journal
StandardError=journal
SyslogIdentifier=zhixi-nest-worker
[Install]
WantedBy=multi-user.target