1. 程式人生 > >Sentry關閉和清洗

Sentry關閉和清洗

大多數SDK使用後臺佇列傳送事件。由於佇列在後臺非同步傳送,因此意味著如果應用程式意外關閉,某些事件可能會丟失。為了防止這種情況,所有SDK都提供了應對此問題的機制。

通常,SDK提供兩種關閉方式:受控關閉,系統將等待大約兩秒鐘以清除事件(可配置)和不受控制的關閉(也稱為“查殺”客戶端)。

客戶端提供了一個close方法,該方法可選擇花費時間(以毫秒為單位)等待的時間,並返回一個在重新整理所有內容或啟動超時後解析的promise。

let client = Sentry.getCurrentHub().getClient();
if (client) {
  client.close(2000).then(function() {
    process.exit();
  });
}

關閉後,客戶端無法再使用,因此請確保在關閉應用程式之前只執行此操作。