簡體   English   中英

了解node.js pm2啟動選項

[英]understand node.js pm2 startup options

pm2具有以下命令行選項:

  startOrRestart <json>
  startOrReload <json>
  startOrGracefulReload <json>

但是它們之間有什么區別?

據我了解,所有尚未啟動的應用程序都將啟動。 因此,讓我們考慮一下應用程序(HTTP服務器)當前正在運行。

我假設重新啟動會強制應用程序停止並隨后重新啟動, 重新加載將停止接受新連接,等待所有連接被處理然后重新啟動應用程序。 區別在於沒有重新啟動的停機時間或連接中斷,但除此之外,它的行為就像重新啟動 (即應用了代碼更改)一樣。

我的假設正確嗎? startOrGracefulReload有何區別?

如果應用程序尚未運行,這三個命令將啟動您的應用程序,因此,讓我們集中討論在其已經運行的情況下發生的情況。

startOrRestart :它將停止JSON文件中的所有應用程序,然后將再次啟動它們。 您將有停機時間。

startOrReload :您可以在此處閱讀:

與重新啟動(終止並重新啟動進程)相反,重新加載實現了0秒的停機時間重新加載。

因此,主要區別在於您將不會停機。

startOrGracefulReload :同樣,您可以在這里閱讀更多內容:

有時,您可能會經歷很長的重新加載,或重新加載不起作用(回退到重新啟動),這意味着您的應用在退出時仍具有打開的連接。 或者,您可能需要關閉所有數據庫連接,清除數據隊列或其他操作。

要變通解決此問題,您必須使用優雅的重新加載。

因此,基本上pm2要求您的應用程序在重新加載之前退出,以防萬一您有數據庫連接或未決請求之類的依賴性。 您必須指定應用程序需要的時間才能關閉所有現有連接。 然后,將開始一個新過程,當該新過程顯示“ 嘿!我還活着! ”時,舊過程將結束。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM