Service Delay

我的 Node.js app 是用 PM2 啟動,MySQL 是放在 Docker。

因為 PM2 啟動 app 比 Docker 快,所以會出現錯誤訊息(資料庫連線錯誤)。

請 ChatGPT 幫忙,延後 PM2 啟動執行 app,方法如下:

先建一個 timer 檔案: /etc/systemd/system/myservice-delay.timer

內容:

[Unit]
Description=Delay start for myservice

[Timer]
OnBootSec=60s
Unit=myservice.service

[Install]
WantedBy=timers.target

這個 Timer 的意思是:開機後 60 秒,才觸發 myservice.service

啟用 Timer:

sudo systemctl daemon-reload
sudo systemctl enable myservice-delay.timer

但有一個地方要注意,原本用 PM2 產生的 service 要停止開機啟動。

sudo systemctl disable myservice

發佈留言

發佈留言必須填寫的電子郵件地址不會公開。 必填欄位標示為 *

返回頂端