Lance des agents IA, des tâches par lots et des migrations dès que tu en as besoin. Chacun d'entre eux démarre dans son propre conteneur, se connecte à tes services et à tes données, exécute sa tâche, puis s'arrête.

Les pics d'activité sont généralement gérés par un « worker » toujours actif que tu paies 24 heures sur 24. Une tâche effectue le même travail mais n'existe que pendant son exécution, et est facturée à la seconde.
Les migrations et les corrections de données se trouvent souvent dans un manuel d'exploitation ou dans la mémoire de quelqu'un qui se souvient de ce qu'il a fait. Les conteneurs de tâches font de ce travail une partie définie et reproductible de ta configuration.
Chaque tâche s'exécute dans les mêmes conteneurs isolés que tes applications et utilise des jetons à durée de vie courte et à portée limitée ; il n'y a donc pas d'identifiants à longue durée de vie à stocker.
Une application ou un « worker » reste actif, et un cron s'exécute à intervalles réguliers. Quand tu as besoin qu'une tâche s'exécute une seule fois puis s'arrête, c'est la « task » qu'il te faut : elle se déclenche, s'exécute, puis disparaît.
Une tâche gourmande dans ton conteneur web peut épuiser sa mémoire et ralentir ton site. Une tâche s'exécute sur ses propres ressources, ce qui permet à ton site de continuer à gérer le trafic.
Laisser un worker en cours d'exécution pour un événement occasionnel revient à le payer pour qu'il reste en attente. Une tâche démarre lorsqu'elle est déclenchée et est facturée à la seconde ; elle ne coûte donc rien entre deux exécutions.
La réindexation, le nettoyage et les corrections ponctuelles ne nécessitent pas un processus fonctionnant 24 heures sur 24. Une tâche exécute le travail à la demande puis se termine, et tu peux la concevoir de manière à ce qu’elle puisse être relancée en toute sécurité.
Un agent exécute des commandes générées par un modèle ; il a donc besoin de limites. Une tâche est limitée à une seule commande et aux seuls services que tu relies, avec la fonctionnalité « bubblewrap » disponible pour un isolement plus strict.
Une application ou une autre tâche déclenche une tâche avec un jeton à durée de vie limitée et à portée restreinte, demandé au moment de l'exécution. Rien de durable n'est enregistré, rien à renouveler.
Un agent de révision de code pour chaque pull request, un agent de nettoyage qui supprime les branches obsolètes, un agent de performance qui génère un rapport après chaque déploiement : chacun d'entre eux se lance, s'exécute, puis se ferme.
Une importation CSV lorsqu'un utilisateur télécharge un fichier, une exportation de données sur demande, une réindexation de la recherche après une modification du schéma. Les tâches qui étaient auparavant gérées par un processus de polling ne s'exécutent désormais que lorsque c'est nécessaire.
Déploie le nouveau code, exécute une tâche ponctuelle sur le nouvel environnement, puis continue. Cette étape est définie dans la configuration de ton projet, et non pas dans la mémoire de quelqu’un qui se souvient de ce qu’il a fait manuellement.
Comment les équipes s'en servent-elles concrètement ?