Herhaallogica is de set regels die bepaalt wat een automatisering doet als een stap de eerste keer niet werkt. In plaats van de hele taak bij de eerste fout te laten klappen, kan hij even pauzeren en dezelfde stap opnieuw proberen, meestal een vast aantal keer, voordat hij accepteert dat er echt iets mis is.
Stel je voor dat je iemand belt en een bezettoon krijgt. Je geeft het niet voorgoed op, je hangt op en belt over een minuut opnieuw. Meestal zijn ze bij de tweede of derde poging wel vrij. Automatiseringen lopen continu tegen datzelfde soort tijdelijke fouten aan: een server is even overbelast, een verbinding valt een seconde weg, een API loopt tegen een korte rate limit aan. Een verstandige herhaling maakt van die voorbijgaande hikjes alsnog successen. Om een worstelende dienst niet plat te bellen, gebruiken goede herhalingen exponentiële backoff, waarbij ze tussen elke poging iets langer wachten.
Wat mensen vaak vergeten: een stap die je herhaalt, moet veilig zijn om te herhalen. Een kaart twee keer belasten of dezelfde mail drie keer sturen is erger dan één nette fout. Daarom heeft de stap een slot nodig, vaak een idempotency-key, die een tweede poging als dezelfde actie laat landen in plaats van als een nieuwe.
Maar herhalingen lossen niet alles op. Is een verzoek fout, dan mislukt het opnieuw bij elke poging. Daarom werkt herhaallogica hand in hand met uitzonderingsafhandeling en een limiet, zodat een blijvend kapot item apart wordt gezet en gemeld in plaats van eindeloos in een lus te blijven hangen. Koppel je het aan automatiseringsmonitoring, dan zie je ook hoe vaak herhalingen afgaan, een vroeg signaal dat een koppeling wankel wordt.
Bij TopDevs bouwen we herhaallogica in elke koppeling die we opleveren, zodat een kortstondige hapering nooit een verloren order of een vastgelopen workflow wordt.