簡體   English   中英

App Engine Standard中的Node.JS如何處理崩潰?

[英]How does Node.JS in App Engine Standard handle crashes?

當節點中的功能崩潰時,它往往會導致整個應用程序崩潰。 pm2之類的解決方案和/或具有用於未捕獲異常的全局偵聽器的解決方案可以緩解這種情況。

在AppEngine 標准 NodeJS中如何處理? 如果發生未捕獲的異常-它們是否會自動恢復(並記錄)-允許其他功能仍然運行,還是必須做一些手動工作來處理這種情況?

如果您的Node.js應用程序崩潰,則AppEngine會將其錯誤記錄在其日志記錄機制中,然后重新啟動。 如果仍然崩潰,它將標記為不健康的應用程序:

Google App Engine Node.js應用程序不正常

如果您不想依賴AppEngine,可以隨時將此代碼段添加到所有Node.js應用程序中:

const someFn = // do something to handle exceptions
process.on("unhandledRejection", someFn );

雖然我建議不要這樣做。

就我個人而言,我更喜歡將計算機安裝在Google Cloud中(沒有AppEngine),並為我提供一台服務器,在那里我可以擁有PM2,並可以在其中為其添加所需的香料,但是如果您投資於AppEngine,那是最好的選擇你可以做。

您需要記住的另一件事是,即使GAE記錄了錯誤, 您也確實有日志限制 ,因此,如果您的應用程序一直崩潰,那么最終您會遇到問題。

另外,在您的代碼中使用Monads( 咳嗽咳嗽保護區/ Folktale)會迫使您處理異常,這也有助於:P

暫無
暫無

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

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