[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=ubuntu Group=ubuntu WorkingDirectory=/opt/zhixi/backend 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/env/.env.production # Memory limit (Worker jobs may consume memory) MemoryMax=512M # Security NoNewPrivileges=yes # Logging StandardOutput=journal StandardError=journal SyslogIdentifier=zhixi-nest-worker [Install] WantedBy=multi-user.target