Background Job
Tâche en arrière-plan
Un travail en arrière-plan est une tâche que le serveur exécute séparément de la page ou de la réponse API qui peut l'avoir démarrée. La réponse peut se terminer avant la fin du travail.
accepted request -> persisted job ID -> runner attempt -> terminal result; bounded retryGET /jobs/job_482accepted request -> persisted job ID -> runner attempt -> terminal result; bounded retryJOBUn autre exemple
Une demande de rapport crée le job `report-204` et répond avec un lien de statut. Un job Kubernetes exécute le rapport jusqu'à ce qu'il réussisse ou atteigne sa limite de tentatives, enregistre cet état final et s'arrête.
Parties principales
- 01ID de tâche et entrée sauvegardée
- 02état accepté ou en attente
- 03Coureur et tentative
- 04Progrès ou signal de vie
- 05État de succès ou d'échec
- 06Chemin du résultat et de récupération
Utilisez-le lorsque
Utilisez un travail en arrière-plan lorsque des tâches lentes peuvent se terminer après que la personne a reçu une réponse. Enregistrez son entrée, son identité, son statut et son résultat final.
Ne l'utilisez pas lorsque
Ne l'utilisez pas lorsque la réponse nécessite le résultat immédiatement. Un exécuteur peut réessayer un travail échoué. Ajoutez une règle de sécurité avant de répéter des charges, des e-mails ou d'autres effets.
Nom utilisé dans le code
accepted request -> persisted job ID -> runner attempt -> terminal result; bounded retry Avant d'expédier
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Tâche en arrière-plan (Background Job). User context: Une demande de rapport crée le job `report-204` et répond avec un lien de statut. Un job Kubernetes exécute le rapport jusqu'à ce qu'il réussisse ou atteigne sa limite de tentatives, enregistre cet état final et s'arrête. Technical concept or control: Tâche en arrière-plan (Background Job). Why it fits: Utilisez un travail en arrière-plan lorsque des tâches lentes peuvent se terminer après que la personne a reçu une réponse. Enregistrez son entrée, son identité, son statut et son résultat final. Do not use it when: Ne l'utilisez pas lorsque la réponse nécessite le résultat immédiatement. Un exécuteur peut réessayer un travail échoué. Ajoutez une règle de sécurité avant de répéter des charges, des e-mails ou d'autres effets. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Aucun standard officiel unique ne régit l’ensemble du terme. Sa signification peut varier selon les équipes, plateformes ou frameworks. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Vérifiez cette demande
Review how Tâche en arrière-plan (Background Job) is used now. Definition: Un travail en arrière-plan est une tâche que le serveur exécute séparément de la page ou de la réponse API qui peut l'avoir démarrée. La réponse peut se terminer avant la fin du travail. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.