[英]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.