Some checks failed
Deploy API Server / build-and-deploy (push) Failing after 39s
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>
40 lines
962 B
Desktop File
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
|