Aracılığıyla paylaş


ExponentialBackOffWithJitter class

Değişim yeniden deneme stratejisi ile Üstel Geri Alma uygular. Sonraki aralığı hesaplamak için işlev şudur (x x. yeniden denemedir): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)

Oluşturucular

ExponentialBackOffWithJitter(boolean, ErrorFilter)

ExponentialBackOffWithJitter sınıfının yeni bir örneğini başlatır.

Özellikler

immediateFirstRetry

İlk yeniden denemenin hemen mi (true olarak ayarlandıysa) yoksa normalParameters.c gecikme süresinden sonra mı (false olarak ayarlandıysa) olması gerektiğini gösteren Boole değeri.

normalParameters

Normal durumlarda her yeniden deneme arasındaki gecikmeyi hesaplamak için kullanılan yeniden deneme parametreleri (yani kısıtlanmaz).

throttledParameters

Kısıtlanmış durumlarda her yeniden deneme arasındaki gecikmeyi hesaplamak için kullanılan yeniden deneme parametreleri.

Yöntemler

nextRetryTimeout(number, boolean)

Her yeni yeniden denemede kesin olmayan bir şekilde yeniden denemeden önce beklenmesi gereken aralığı hesaplar.

shouldRetry(Error)

Bağımsız değişken olarak geçirilen hataya bağlı olarak, bir hatanın geçici olup olmadığını ve işlemin yeniden denenip denenmeyeceğini belirler.

Oluşturucu Ayrıntıları

ExponentialBackOffWithJitter(boolean, ErrorFilter)

ExponentialBackOffWithJitter sınıfının yeni bir örneğini başlatır.

new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)

Parametreler

immediateFirstRetry

boolean

ilk yeniden denemenin hemen mi (varsayılan) yoksa ilk aralığı mı (c değeri) beklemesi gerektiğini gösteren boole değeri.

errorFilter

ErrorFilter

Özellik Ayrıntıları

immediateFirstRetry

İlk yeniden denemenin hemen mi (true olarak ayarlandıysa) yoksa normalParameters.c gecikme süresinden sonra mı (false olarak ayarlandıysa) olması gerektiğini gösteren Boole değeri.

immediateFirstRetry: boolean

Özellik Değeri

boolean

normalParameters

Normal durumlarda her yeniden deneme arasındaki gecikmeyi hesaplamak için kullanılan yeniden deneme parametreleri (yani kısıtlanmaz).

normalParameters: ExponentialBackoffWithJitterParameters

Özellik Değeri

ExponentialBackoffWithJitterParameters

throttledParameters

Kısıtlanmış durumlarda her yeniden deneme arasındaki gecikmeyi hesaplamak için kullanılan yeniden deneme parametreleri.

throttledParameters: ExponentialBackoffWithJitterParameters

Özellik Değeri

ExponentialBackoffWithJitterParameters

Yöntem Ayrıntıları

nextRetryTimeout(number, boolean)

Her yeni yeniden denemede kesin olmayan bir şekilde yeniden denemeden önce beklenmesi gereken aralığı hesaplar.

function nextRetryTimeout(retryCount: number, isThrottled: boolean): number

Parametreler

retryCount

number

Geçerli yeniden deneme kesin değil.

isThrottled

boolean

Azure IoT hub'ını azaltma işlemlerinin olup olmadığını gösteren Boole değeri.

Döndürülenler

number

Milisaniye cinsinden yeniden denemeyi denemeden önce beklenmesi gereken süre.

shouldRetry(Error)

Bağımsız değişken olarak geçirilen hataya bağlı olarak, bir hatanın geçici olup olmadığını ve işlemin yeniden denenip denenmeyeceğini belirler.

function shouldRetry(error: Error): boolean

Parametreler

error

Error

İşlem tarafından karşılaşılan hata.

Döndürülenler

boolean

İşlemin yeniden denenip denenmeyeceği.