Les boucles infinies et les erreurs 500 sont le type de bugs qui frappent en production au pire moment. Dans 0fee.dev, plusieurs incidents de ce type ont été rencontrés à travers les sessions de développement.
Boucles infinies
- Polling de callback : un endpoint de callback qui redirige vers lui-même quand le statut est toujours « pending ».
- Retry de webhooks : une configuration de retry qui ne respectait pas le nombre maximum de tentatives.
Erreurs 500
- Connexion Redis : DragonflyDB en panne causait des erreurs non gérées dans le middleware de limitation de débit.
- Sérialisation JSON : des objets datetime non sérialisables dans les réponses API.
- Requêtes concurrentes : des conditions de course SQLite provoquant des erreurs de verrouillage.
Leçons
Chaque bug a renforcé la résilience du système : dégradation gracieuse quand le cache est indisponible, timeouts explicites sur tous les polling, et gestion d'erreurs exhaustive.
Cet article fait partie de la série « Comment nous avons construit 0fee.dev ». 0fee.dev est un orchestrateur de paiement couvrant 53+ fournisseurs dans 200+ pays, construit par Juste A. GNIMAVO et Claude depuis Abidjan sans aucun ingénieur humain. Suivez la série pour l'histoire complète de la construction.