पाठ 19 / 25

Errors, Retries और Error Workflows

विफलताएँ सँभालने के लिए node retry settings, continue-on-error और error workflow उपयोग करें।

बचाव के तीन स्तर

पहला, हर node में प्रयासों के बीच प्रतीक्षा के साथ Retry On Fail है, जो अस्थायी network या rate-limit errors के लिए अच्छा है। दूसरा, On Error: Continue (या error output) पूरा run रोकने की जगह workflow को विफल item सँभालने देता है। तीसरा, Error Trigger node से शुरू होने वाला अलग error workflow हर विफलता पर चलता है, ताकि आप workflow का नाम, विफल node और execution की कड़ी के साथ alert भेज सकें।

विफलता मानें, नुक़सान सीमित करें

असली workflows को ग़लत डेटा, timeouts और दुर्भावनापूर्ण input मिलते हैं। शुरू से हर एक की योजना बनाएँ।

चार परतें: retry, alert, authenticate, सीमा।
चित्र 6.1 — Retry, alert, authenticate और सीमा।

Backoff अनुसूची

बढ़ती प्रतीक्षा संघर्षरत service को सँभलने का समय देती है। यह Node.js में चला: देरी दोगुनी होती है, 30 सेकंड की सीमा तक। n8n की retry setting निश्चित प्रतीक्षा उपयोग करती है, इसलिए backoff के लिए loop में Wait node जोड़ें या Code node से देरी निकालें।

const delays = n => Array.from({ length: n }, (_, i) => Math.min(30, 2 ** i));
console.log(JSON.stringify(delays(6)));

Output:

[1,2,4,8,16,30]

सिर्फ़ सुरक्षित कर्म retry करें

पहला प्रयास सचमुच सफल हुआ हो तो "email भेजो" या "invoice बनाओ" को retry करने से प्रभाव दोहरा सकता है। जहाँ API समर्थित करे वहाँ idempotency keys उपयोग करें, या बनाने से पहले मौजूदा record जाँचें।

त्वरित जाँच: n8n error workflow को क्या शुरू करता है?

  • Manual Trigger node
  • Merge node
  • सिर्फ़ Schedule Trigger
  • Error Trigger node, जब कोई दूसरा workflow विफल हो
Answer

Error Trigger node, जब कोई दूसरा workflow विफल हो — Error Trigger को विफल execution का विवरण मिलता है ताकि आप किसी को alert कर सकें।