fix(server): hata yönetimini iyileştir
Zamanlayıcı ve qbit istemcisi bileşenlerinde hata işleme yeteneklerini güçlendirir. - loop.scheduler: qbit hatalarında sistem durumunu ve sağlık bilgisini güncelleme ekler. - qbit.client: geçici ağ hatalarını (EAI_AGAIN vb.) algılayarak oturum durumunu sıfırlar. - timer.worker: global hata yakalama ekleyerek işleyicinin çökmesini engeller ve hataları günlüğe kaydeder.
This commit is contained in:
@@ -48,6 +48,18 @@ export class QbitClient {
|
||||
}
|
||||
return await fn();
|
||||
} catch (error) {
|
||||
if (axios.isAxiosError(error)) {
|
||||
const code = error.code ?? "";
|
||||
const transient =
|
||||
code === "EAI_AGAIN" ||
|
||||
code === "ENOTFOUND" ||
|
||||
code === "ECONNREFUSED" ||
|
||||
code === "ECONNRESET" ||
|
||||
code === "ETIMEDOUT";
|
||||
if (transient) {
|
||||
this.loggedIn = false;
|
||||
}
|
||||
}
|
||||
if (
|
||||
axios.isAxiosError(error) &&
|
||||
(error.response?.status === 401 || error.response?.status === 403)
|
||||
|
||||
Reference in New Issue
Block a user