Share via


Agent de travail en arrière-plan Team Foundation

Azure DevOps Server 2022 | Azure DevOps Server 2020 | Azure DevOps Server 2019

Le service Agent de travail en arrière-plan De Visual Studio Team Foundation fournit un mécanisme de planification général pour les services web et les travaux pour Azure DevOps. Ce service Windows est également utilisé pour exécuter les tâches engendrées par différents Assistants, tels que l’Assistant Nouveau projet et l’Assistant Création d’une collection de projets. Le service utilise le compte de service pour Azure DevOps Server, appelé TFSService. Le service s’exécute sur n’importe quel serveur qui exécute un service web ou une application web dans la couche Application logique pour Azure DevOps. Pour fonctionner correctement, le compte de service pour le service Agent de travail en arrière-plan Visual Studio Team Foundation doit avoir les autorisations nécessaires pour les tâches qu'il effectue.

Certains services ont des tâches qui se répètent à intervalles réguliers. Par exemple, les administrateurs pourraient souhaiter planifier des builds pour la nuit. Pour ce faire, les services de build doivent être capables d'installer un événement planifié automatiquement dans la base de données d'inscription. Le service Team Foundation Background Job Agent fournit un seul service Windows pour planifier des tâches répétées sur les serveurs qui exécutent Azure DevOps. Le service s’exécute via la base de données d’inscription, identifie tous les services web Azure DevOps Server qui ont des événements planifiés et planifie ces tâches.

Instances

Une seule instance du service Team Foundation Background Job Agent doit s’exécuter sur n’importe quel serveur de la couche Application pour Azure DevOps. Par défaut, le service s’exécute sous le compte de service que vous avez spécifié lorsque vous avez installé Azure DevOps Server. Pour consulter l'état de ce service sur un serveur de couche Application, ouvrez Services et recherchez le service.

Autorisations

Le service Agent de travail en arrière-plan Team Foundation utilise le même compte de service que Azure DevOps Server fait, TFSService. Pour fonctionner correctement, ce compte requiert les autorisations suivantes :

  • Ouvrir une session en tant que service
  • Groupe Administrateurs de batterie de serveurs pour toutes les applications web SharePoint que Azure DevOps Server utilise
  • TFSExecRole ou les deux éléments suivants pour toutes les bases de données que Azure DevOps Server utilisent :
    • db_owner
    • db_create

Pour plus d’informations, consultez Comptes de service et dépendances dans Azure DevOps Server.

Hypothèses et limitations

Le service Agent de travail en arrière-plan Visual Studio Team Foundation s'exécute continuellement sur tous les serveurs de couche Application. Les administrateurs ne doivent pas avoir besoin d'arrêter ou de démarrer manuellement ce service durant une récupération du système. Par exemple, vous devez arrêter ce service avant de restaurer des bases de données. Le service doit redémarrer automatiquement lorsqu'un serveur est redémarré.

Les administrateurs ne configurent pas directement le service Agent de travail en arrière-plan Team Foundation. Les tâches qui doivent être planifiées sont configurées directement dans des composants individuels de Team Foundation, tels que Team Foundation Build. Lorsqu'un événement est ajouté ou supprimé, le service reconfigure automatiquement les tâches planifiées dans la base de données d'inscription.

Le service Team Foundation Background Job Agent journalise un seul instance d’une erreur donnée jusqu’à ce que cette erreur soit résolue et qu’un message de réussite soit enregistré dans le journal des événements, ou jusqu’à ce que le service soit redémarré manuellement. Si vous souhaitez vérifier que ce message d'erreur est présent dans le journal des événements, vous devez d'abord arrêter puis redémarrer le service.

Le service Agent de travail en arrière-plan Visual Studio Team Foundation n'est pas conçu pour être un mécanisme de planification polyvalent. Il n'est pas conçu pour fournir une précision de planification supérieure au jour de la semaine, à l'heure du jour et à la minute du jour. La plupart des administrateurs n’ont pas besoin de planifier des tâches au-delà de ce niveau de granularité.