Параллельдікті шектеу
Шектеулі клиенттік кезекті пайдаланып, әр тапсырманы кәдімгі үйлесімді сұрау арқылы жіберіңіз. Бұл сервердің пакеттік соңғы нүктесі бар деп болжамай-ақ жүктемені басқарады.
Қызметтің пакеттік режимі — бөлек API шарты: оның бағыты мен денесін тіркелгі параметрлерінде немесе спецификацияда жарияланғаннан кейін ғана пайдаланыңыз.
async function runWithLimit(items, limit, work) {
const results = [];
for (let offset = 0; offset < items.length; offset += limit) {
const group = items.slice(offset, offset + limit);
results.push(...await Promise.all(group.map(work)));
}
return results;
}Кезекті басқару
- Ішкі тапсырма идентификаторын детерминистік және бір іске қосу аясында бірегей етіңіз.
- Тым үлкен жиынды басқаруға болатын топтарға бөліңіз.
- Бір элементтің ақауын бүкіл кезектің ақауынан ажыратыңыз.
Нәтижелерді жинау
Нәтижені ішкі идентификатормен байланыстырып, әр тапсырманың күйін сақтаңыз.
Барлық тапсырмаларды автоматты түрде қайталамаңыз: идемпотенттілікті тексергеннен кейін уақытша ақауларды ғана қайталаңыз.