Documentation is being updated. Some sections may not reflect the latest features.

Nodul Try / Catch

Nodul Try / Catch adaugă gestionarea erorilor și logica de reîncercare la workflow-urile dumneavoastră. Captează erorile de la nodurile anterioare și poate reîncerca automat secțiunea eșuată înainte de a redirecționa către calea de eroare.

Cum funcționează

Plasați nodul Try / Catch după o secvență de pași pe care doriți să îi protejați. Când fluxul ajunge la acest nod:

  1. Dacă toți pașii anteriori s-au finalizat cu succes, fluxul continuă prin ieșirea SUCCESS.
  2. Dacă a apărut o eroare, nodul reîncearcă secțiunea eșuată conform configurării de reîncercare.
  3. Dacă toate reîncercările sunt epuizate, fluxul este direcționat prin ieșirea ERROR.
Start → API Call → Process Data → [Try / Catch]
                                      ├── SUCCESS → Save Result → End
                                      └── ERROR → Send Alert → End

Configurare

Reîncercări maxime

Numărul maxim de tentative de reîncercare înainte de a renunța. Setați la 0 pentru a dezactiva reîncercările și a capta doar erorile.

Valoare Comportament
0 Fără reîncercări – erorile merg direct la ieșirea ERROR
1–3 Potrivit pentru erori tranzitorii (timeout-uri de rețea, limite de rată)
5+ Folosiți cu precauție – luați în considerare timpul total de execuție

Tipul de Backoff

Controlează cum se modifică întârzierea între reîncercări de-a lungul timpului.

  • Fixed – Aceeași întârziere de fiecare dată. Exemplu cu 2s întârziere: 2s → 2s → 2s → 2s
  • Exponential – Întârzierea se dublează cu fiecare tentativă. Exemplu cu 1s întârziere: 1s → 2s → 4s → 8s

Backoff-ul exponențial este recomandat la apelarea API-urilor externe, deoarece oferă serviciilor supraîncărcate progresiv mai mult timp pentru recuperare.

Întârzierea de reîncercare

Timpul de așteptare de bază între tentativele de reîncercare. Se combină cu unitatea de întârziere (milisecunde, secunde sau minute).

Pentru backoff exponențial, aceasta este întârzierea inițială – întârzierile ulterioare se calculează ca delay × 2^(attempt - 1).

La epuizarea reîncercărilor

Ce se întâmplă când toate tentativele de reîncercare au eșuat:

  • Continue to error path – Direcționează fluxul prin portul de ieșire ERROR. Folosiți aceasta când doriți să gestionați eșecul elegant (înregistrare în log, trimitere notificare, returnare valoare alternativă).
  • Stop flow with error – Oprește întreaga execuție a workflow-ului cu un status de eroare. Folosiți aceasta când eșecul este irecuperabil.

Ieșiri

Port Descriere
SUCCESS Fluxul continuă aici când nu a apărut nicio eroare sau o reîncercare a reușit
ERROR Fluxul continuă aici când toate reîncercările sunt epuizate (doar dacă este selectat „Continue to error path")

Exemple

Reîncercarea unui apel API instabil

HTTP Request → [Try / Catch: 3 retries, 2s fixed delay]
                   ├── SUCCESS → Parse Response
                   └── ERROR → Return Default Value

Backoff exponențial pentru API-uri cu limită de rată

HTTP Request → [Try / Catch: 5 retries, 1s exponential]
                   ├── SUCCESS → Store Data
                   └── ERROR → Log Error → Notify Team

Doar captare (fără reîncercare)

Code Node → [Try / Catch: 0 retries]
                ├── SUCCESS → Continue
                └── ERROR → Send Error Report

Aspecte de reținut

  • Nodurile anterioare Try / Catch-ului se vor re-executa la reîncercare. Dacă un nod trimite un email sau scrie într-o bază de date, acel efect secundar va apărea din nou. Asigurați-vă că operațiile reîncercate sunt sigure de repetat (idempotente).
  • Timpul total de execuție se acumulează. 5 reîncercări cu backoff exponențial de 4s înseamnă așteptare de până la 1 + 2 + 4 + 8 + 16 = 31 secunde înainte ca calea de eroare să fie activată.
  • Numărul de reîncercări și ultimul mesaj de eroare sunt disponibile ca variabile în nodurile ulterioare, astfel încât le puteți include în rapoarte de erori sau log-uri.
AI AssistantPowered by Ubex
Beta
Ask me anything about Ubex workflows, nodes, or the API.
~/

Salut 👋

Cu ce te putem ajuta astăzi?