ForHosting KIT · Outils pour développeurs

Calculez un calendrier de recul exponentiel pour les reprises

Ce calculateur de recul exponentiel transforme quatre réglages de reprise en une liste exacte de délais.

● BetaGratuit · dans votre navigateur
Utilisez-le depuis WebAPIE-mailTelegramApp bientôt

Indiquez l’attente avant la première reprise, le multiplicateur de croissance, le délai maximal autorisé et le nombre de tentatives. Le résultat présente l’attente précédant chaque reprise dans l’unité de temps fournie. Il vous permet de vérifier une configuration, de documenter un client, de comparer des politiques et de repérer une fenêtre de récupération excessive avant la mise en production.

Définissez la politique avec une unité cohérente

Commencez par le délai de base, c’est-à-dire l’attente avant la première reprise. Choisissez une unité adaptée au système configuré, par exemple les millisecondes ou les secondes, puis conservez-la pour le délai maximal. Le calculateur n’impose aucune unité, car le recul exponentiel suit la même arithmétique dans toutes les unités. Le multiplicateur détermine la vitesse de croissance du délai non plafonné. Une valeur de deux double chaque attente suivante, tandis qu’une valeur de un produit un intervalle constant. Enfin, le nombre de tentatives désigne les reprises et non l’opération initiale : si vous saisissez cinq, vous obtenez cinq lignes numérotées de un à cinq. Cette distinction explicite évite une erreur de décalage fréquente dans les procédures et les revues de configuration. Le délai de base doit être positif, le multiplicateur au moins égal à un, le maximum positif et le nombre de tentatives entier, de un à mille. Ces contraintes préservent la pertinence du calendrier et limitent sa taille. Si votre application emploie des millisecondes, étiquetez ainsi les résultats copiés afin d’éviter toute lecture ultérieure en secondes.

Comprenez la croissance et le plafond maximal

Pour la reprise n, le délai non plafonné correspond au délai de base multiplié par le multiplicateur élevé à la puissance n moins un. Le délai renvoyé est la plus petite valeur entre ce résultat et le maximum. Ainsi, une base de 250, un multiplicateur de deux et un maximum de 2,000 donnent 250, 500, 1,000, 2,000, puis encore 2,000 pour chaque reprise suivante. Le plafond s’applique même s’il est inférieur à la base : une base de dix et un maximum de trois renvoient donc trois dès la première reprise. Ce comportement respecte un maximum strict et rend visibles les configurations inhabituelles au lieu de les réécrire silencieusement. L’algorithme avance par itérations sans calculer une puissance illimitée et arrête la croissance dès que le plafond est atteint. Même avec un très grand multiplicateur, le résultat JSON reste ainsi déterministe et ne contient aucune valeur infinie. Le calendrier n’intègre aucun aléa. Ce choix expose la politique déterministe que l’aléa viendrait modifier et facilite les tests, la documentation et les comparaisons. Ajoutez séparément une dispersion aléatoire selon les règles précises de votre bibliothèque cliente.

Appliquez le calendrier sans déclencher une vague de reprises

Servez-vous du résultat pour examiner l’enveloppe temporelle avant de déployer une politique. Un délai de base court paraît parfois anodin, mais un multiplicateur élevé amène rapidement les dernières reprises au plafond et peut allonger considérablement la récupération. Comparez chaque attente aux délais d’expiration des requêtes, aux périodes de visibilité des files, au rétablissement des quotas et à la durée maximale acceptable pour vos utilisateurs. Le calculateur indique les attentes avant les reprises ; il n’inclut ni la durée de la requête initiale ni le travail accompli pendant chaque échec. Additionnez ces durées séparément pour estimer le pire cas complet. Dans un système distribué, un calendrier déterministe peut pousser de nombreux clients à reprendre simultanément après une panne commune. Les clients de production ajoutent souvent une dispersion aléatoire bornée afin de répartir la charge, tout en gardant le calendrier comme plafond ou valeur centrale. Cette capacité n’envoie aucune requête, n’attend pas, ne contacte aucun service et ne juge pas si une erreur est récupérable. Elle effectue seulement le calcul, sans réseau ni état conservé. L’exécution dans le navigateur est gratuite ; l’automatisation par API coûte $0.002 par requête.

Contrôlez les reprises d’un SDK

Transformez les paramètres proposés en attentes concrètes avant de valider la configuration d’un client.

Documentez le temps de récupération

Ajoutez à une procédure un calendrier exact par tentative sans calculer les puissances à la main.

Testez les générateurs de configuration

Comparez automatiquement les politiques produites à des calendriers déterministes et plafonnés.

Quelle unité de temps le calculateur utilise-t-il ?

Toute unité cohérente convient. Si base_delay est exprimé en millisecondes, chaque délai renvoyé et max_delay le sont aussi.

Le nombre de tentatives comprend-il la requête initiale ?

Non. Il compte les reprises après la requête initiale, et le calendrier contient exactement ce nombre d’éléments.

Le maximum s’applique-t-il avant la première reprise ?

Oui. Tous les délais sont plafonnés, y compris le premier ; max_delay peut donc être inférieur à base_delay.

Le résultat contient-il une dispersion aléatoire ?

Non. Il calcule le calendrier exponentiel déterministe. Ajoutez l’aléa séparément selon les règles de votre client.

Que se passe-t-il une fois le plafond atteint ?

Le délai reste égal à max_delay pour cette reprise et toutes les suivantes du calendrier demandé.

Tout sur cette page est disponible par programmation. Cette section s'adresse aux équipes qui veulent l'intégrer à leurs systèmes ; les autres peuvent simplement utiliser l'outil ci-dessus.

POSThttps://api.kit.forhosting.com/dev2/retry-backoff-schedule

Authentification par jeton Bearer : un seul POST met la tâche en file d’attente, et le résultat vous parvient par webhook ou lien signé.

curl -X POST https://api.kit.forhosting.com/dev2/retry-backoff-schedule \
  -H "Authorization: Bearer $KIT_KEY" \
  -H "Content-Type: application/json" \
  -d '{"base_delay":250,"multiplier":2,"max_delay":8000,"attempts":6}'
{
  "base_delay": 250,
  "multiplier": 2,
  "max_delay": 8000,
  "attempts": 6
}
{
  "task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
  "type": "dev2.retry_backoff_schedule",
  "status": "queued",
  "_links": {
    "result": "/tasks/tsk_…/result"
  }
}

L’API est asynchrone : chaque appel renvoie un task_id immédiatement, puis vous interrogez l’état à raison d’une requête par seconde.

par requête$0.002

Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.

max_attempts1000
HTTPCodeSignification
401unauthorizedClé API absente ou invalide : vérifiez l’en-tête Authorization.
402insufficient_balanceSolde insuffisant : rechargez votre compte pour lancer cette tâche.
404unknown_typeType de tâche inconnu : vérifiez le champ type de votre requête.
429rate_limitedTrop de requêtes : ralentissez la cadence, puis réessayez.

Consulter la documentation complète du KIT →