Tâches en parallèle
Cette capacité lance plusieurs traitements du KIT en même temps, sans attendre que l’un finisse pour démarrer le suivant, puis rassemble leurs résultats. Elle convient quand des tâches sont indépendantes : rien n’oblige à les faire dans l’ordre, autant les mener de front. Le temps total se rapproche alors de la tâche la plus longue.
Mener de front ce qui est indépendant
Certaines tâches n’ont aucune raison de s’attendre : convertir cinq images, résumer trois documents distincts, interroger plusieurs adresses. Les faire l’une après l’autre revient à additionner leurs durées pour rien. L’exécution en parallèle les lance toutes en même temps ; chacune avance de son côté et le résultat global est prêt quand la dernière a fini. Vous ne raccourcissez pas le travail de chaque tâche, mais vous supprimez l’attente entre elles, ce qui fait toute la différence sur un lot un peu volumineux.
Des résultats regroupés proprement
Lancer en parallèle ne veut pas dire perdre le fil : chaque résultat reste rattaché à la tâche qui l’a produit, et l’ensemble vous est rendu regroupé. Si l’une des tâches échoue, les autres n’en pâtissent pas — elles aboutissent, et l’échec isolé est signalé pour lui seul. Vous obtenez ainsi une vue d’ensemble claire : ce qui a réussi, ce qui a manqué, sans qu’un raté unique fasse tomber tout le lot. C’est la différence avec une chaîne, où une étape en échec interrompt la suite.
Mettre en place
Vous décrivez les tâches à mener de front depuis cette page ou via l’API, puis vous déclenchez l’ensemble d’une seule commande. L’exécution en parallèle s’associe au traitement par lots quand il s’agit d’appliquer la même opération à de nombreux éléments, et aux tâches programmées pour tourner à heure fixe. Les applications iOS et Android, l’e-mail et Telegram comptent parmi les canaux du KIT en cours d’ouverture, pour recevoir le résultat où vous le souhaitez.
Cas d’usage
Convertir un lot d’images
Studio Lumen SAS convertit d’un coup les photos d’un projet dans un format léger ; les conversions tournent ensemble et le dossier est prêt bien plus vite qu’en file.
Résumer plusieurs documents
Élodie Garnier fait résumer en même temps trois comptes rendus indépendants, chacun renvoyant son propre résumé sans attendre les autres.
Interroger plusieurs sites
Atelier Garnier SARL relève simultanément l’état de plusieurs pages surveillées, l’ensemble des vérifications aboutissant en un seul passage groupé.
Questions fréquentes
Quand vaut-il mieux paralléliser plutôt qu’enchaîner ?
Dès que les tâches ne dépendent pas les unes des autres. Si aucune n’a besoin du résultat d’une autre, les mener de front fait gagner du temps. Si au contraire chaque étape s’appuie sur la précédente, c’est l’enchaînement qu’il faut.
Si une tâche échoue, les autres sont-elles perdues ?
Non. Chaque tâche est indépendante : celles qui réussissent rendent leur résultat, seul l’échec de la tâche concernée est signalé. Vous récupérez tout ce qui a abouti sans être bloqué par un raté isolé.
Le résultat de chaque tâche reste-t-il identifiable ?
Oui. Chaque sortie est rattachée à la tâche qui l’a produite et l’ensemble vous est rendu regroupé, si bien que vous savez toujours quel résultat correspond à quelle opération du lot.
Comment se calcule le prix d’une exécution parallèle ?
Comme pour l’enchaînement : la somme du prix des tâches lancées, majorée de 20 % pour l’orchestration, en dollars US. Paralléliser ne coûte pas plus que la même liste de tâches ; cela va simplement plus vite.
Y a-t-il une limite au nombre de tâches simultanées ?
Vous composez le lot selon votre besoin. Au-delà d’un certain volume, mieux vaut passer par le traitement par lots, pensé pour appliquer une même opération à une longue liste de façon ordonnée.
Les traitements s’exécutent-ils sur vos serveurs ?
Oui : l’exécution en parallèle est orchestrée côté serveur. Les données de chaque tâche servent à produire son résultat, sans autre exploitation. Ne confiez au lot que les informations nécessaires, dans le respect du RGPD.
Pour les développeurs — accès API
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.
Endpoint
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é.
Appeler depuis votre stack
curl -X POST https://api.kit.forhosting.com/flow/parallel \
-H "Authorization: Bearer $KIT_KEY" \
-H "Content-Type: application/json" \
-d '{"input":"…"}'const res = await fetch("https://api.kit.forhosting.com/flow/parallel", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.KIT_KEY}`,
"Content-Type": "application/json"
},
body: JSON.stringify({
"input": "…"
})
});
const { task_id } = await res.json();import os, requests
res = requests.post(
"https://api.kit.forhosting.com/flow/parallel",
headers={"Authorization": f"Bearer {os.environ['KIT_KEY']}"},
json={
"input": "…"
},
)
task_id = res.json()["task_id"]<?php
$res = file_get_contents("https://api.kit.forhosting.com/flow/parallel", false, stream_context_create([
"http" => [
"method" => "POST",
"header" => "Authorization: Bearer " . getenv("KIT_KEY") . "\r\nContent-Type: application/json",
"content" => '{"input":"…"}',
],
]));
$task = json_decode($res, true);body := bytes.NewBufferString(`{"input":"…"}`)
req, _ := http.NewRequest("POST", "https://api.kit.forhosting.com/flow/parallel", body)
req.Header.Set("Authorization", "Bearer "+os.Getenv("KIT_KEY"))
req.Header.Set("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)Exemple de requête
{
"input": "…"
}Exemple de réponse
{
"task_id": "tsk_a1b2c3d4e5f6a1b2c3d4e5f6",
"type": "flow.parallel",
"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.
Tarifs
Le prix est publié, sans tokens ni crédits. Une tâche qui échoue n’est pas facturée.
Erreurs
| HTTP | Code | Signification |
|---|---|---|
401 | unauthorized | Clé API absente ou invalide : vérifiez l’en-tête Authorization. |
402 | insufficient_balance | Solde insuffisant : rechargez votre compte pour lancer cette tâche. |
404 | unknown_type | Type de tâche inconnu : vérifiez le champ type de votre requête. |
429 | rate_limited | Trop de requêtes : ralentissez la cadence, puis réessayez. |