पाठ 10 / 25

Loops और Batches

API सीमाओं का सम्मान करते हुए कई items को batches में प्रोसेस करें।

API पर बौछार न करें

डिफ़ॉल्ट रूप से node सभी items तेज़ी से प्रोसेस करता है, जो किसी service की rate limit छू सकता है। Loop Over Items (Split in Batches) node items को समूहों में देता है, जैसे एक बार में 10; batches के बीच रुकने के लिए loop के भीतर Wait node जोड़ें। ज़्यादातर nodes के options में batching और retry settings भी होती हैं।

Batching का गणित

यह chunk function Node.js में चला और दिखाता है कि 5 items पर batch size 2 क्या करता है: तीन समूह, आख़िरी छोटा।

function chunk(arr, n) {
  const r = [];
  for (let i = 0; i < arr.length; i += n) r.push(arr.slice(i, i + n));
  return r;
}
console.log(JSON.stringify(chunk([1, 2, 3, 4, 5], 2)));

Output:

[[1,2],[3,4],[5]]

त्वरित जाँच: Wait node के साथ items को batches में क्यों प्रोसेस करें?

  • किसी API की rate limit के भीतर रहने के लिए
  • डेटा बड़ा करने के लिए
  • क्योंकि n8n loops मना करता है
  • Errors छिपाने के लिए
Answer

किसी API की rate limit के भीतर रहने के लिए — Calls के बीच अंतर रखने से request सीमा वाली services के 429 errors रुकते हैं।