ExponentialBackOffWithJitter class
ينفذ التراجع الأسي باستخدام استراتيجية إعادة المحاولة Jitter. الدالة لحساب الفاصل الزمني التالي هي التالية (x هي إعادة المحاولة xth): F(x) = min(Cmin+ (2^(x-1)-1) * rand(C * (1 – Jd), C*(1-Ju)), Cmax)
المنشئون
Exponential |
تهيئة مثيل جديد من ExponentialBackOffWithJitter الفئة. |
الخصائص
immediate |
منطقي يشير إلى ما إذا كان يجب أن تكون إعادة المحاولة الأولى فورية (إذا تم تعيينها إلى true) أو بعد تأخير normalParameters.c (إذا تم تعيينها إلى false). |
normal |
إعادة محاولة المعلمات المستخدمة لحساب التأخير بين كل إعادة محاولة في المواقف العادية (أي غير مقيد). |
throttled |
إعادة محاولة المعلمات المستخدمة لحساب التأخير بين كل إعادة محاولة في المواقف المقيدة. |
الأساليب
next |
يحسب الفاصل الزمني للانتظار قبل إعادة المحاولة في كل إعادة محاولة مبدئية جديدة. |
should |
استنادا إلى الخطأ الذي تم تمريره كوسيطة، يحدد ما إذا كان الخطأ عابرا وما إذا كان يجب إعادة محاولة العملية أم لا. |
تفاصيل المنشئ
ExponentialBackOffWithJitter(boolean, ErrorFilter)
تهيئة مثيل جديد من ExponentialBackOffWithJitter الفئة.
new ExponentialBackOffWithJitter(immediateFirstRetry?: boolean, errorFilter?: ErrorFilter)
المعلمات
- immediateFirstRetry
-
boolean
منطقي يشير إلى ما إذا كان يجب أن تكون إعادة المحاولة الأولى فورية (افتراضية) أو انتظر الفاصل الزمني الأول (قيمة c).
- errorFilter
-
ErrorFilter
تفاصيل الخاصية
immediateFirstRetry
منطقي يشير إلى ما إذا كان يجب أن تكون إعادة المحاولة الأولى فورية (إذا تم تعيينها إلى true) أو بعد تأخير normalParameters.c (إذا تم تعيينها إلى false).
immediateFirstRetry: boolean
قيمة الخاصية
boolean
normalParameters
إعادة محاولة المعلمات المستخدمة لحساب التأخير بين كل إعادة محاولة في المواقف العادية (أي غير مقيد).
normalParameters: ExponentialBackoffWithJitterParameters
قيمة الخاصية
ExponentialBackoffWithJitterParameters
throttledParameters
إعادة محاولة المعلمات المستخدمة لحساب التأخير بين كل إعادة محاولة في المواقف المقيدة.
throttledParameters: ExponentialBackoffWithJitterParameters
قيمة الخاصية
ExponentialBackoffWithJitterParameters
تفاصيل الأسلوب
nextRetryTimeout(number, boolean)
يحسب الفاصل الزمني للانتظار قبل إعادة المحاولة في كل إعادة محاولة مبدئية جديدة.
function nextRetryTimeout(retryCount: number, isThrottled: boolean): number
المعلمات
- retryCount
-
number
إعادة المحاولة الحالية مبدئيا.
- isThrottled
-
boolean
منطقي يشير إلى ما إذا كان مركز Azure IoT هو عمليات تقييد.
المرتجعات
number
وقت الانتظار قبل محاولة إعادة المحاولة بالمللي ثانية.
shouldRetry(Error)
استنادا إلى الخطأ الذي تم تمريره كوسيطة، يحدد ما إذا كان الخطأ عابرا وما إذا كان يجب إعادة محاولة العملية أم لا.
function shouldRetry(error: Error): boolean
المعلمات
- error
-
Error
الخطأ الذي واجهته العملية.
المرتجعات
boolean
ما إذا كان يجب إعادة محاولة العملية أم لا.