Agente de trabajo en segundo plano de Team Foundation

Azure DevOps Server 2020 | Azure DevOps Server 2019 | TFS 2018 - TFS 2013

Nota

Azure DevOps Server anteriormente se denominaba Visual Studio Team Foundation Server.

El servicio Agente de trabajo en segundo plano de Visual Studio Team Foundation proporciona un mecanismo de programación general para los trabajos y servicios Web de Azure DevOps. Este servicio de Windows también se usa para ejecutar las tareas generadas por varios asistentes, como el Asistente para nuevo proyecto y el Asistente para crear una colección de proyectos. El servicio usa la cuenta de servicio para Azure DevOps Server, que se conoce como TFSService. El servicio se ejecuta en cualquier servidor que ejecute un servicio web o una aplicación web en la capa de aplicación lógica de Azure DevOps. Para funcionar correctamente, la cuenta de servicio para el servicio Agente de trabajo en segundo plano de Team Foundation debe tener los permisos necesarios para las tareas que realiza.

Algunos servicios tienen tareas que se repiten a intervalos regulares. Por ejemplo, es posible que los administradores deseen programar compilaciones cada noche. Para lograr esto, los servicios de compilación deben ser capaces de preparar automáticamente un evento programado en la base de datos de registro. El servicio agente de trabajo en segundo plano de Team Foundation proporciona un único servicio basado en Windows para programar tareas repetitivas en servidores que ejecutan Azure DevOps. El servicio se ejecuta a través de la base de datos de registro, identifica todos los Azure DevOps Server servicios web que tienen eventos programados y programa estas tareas.

Instancias

Solo se debe ejecutar una instancia del servicio del agente de trabajo en segundo plano de Team Foundation en cualquier servidor de capa de aplicación para Azure DevOps. De forma predeterminada, el servicio se ejecuta en la cuenta de servicio que especificó al instalar Azure DevOps Server. Para ver el estado de este servicio en un servidor de capa de aplicación, abra Servicios y una busque el servicio.

Permisos

El servicio agente de trabajo en segundo plano de Team Foundation utiliza la misma cuenta de servicio que Azure DevOps Server, TFSService. Para que funcione correctamente, esta cuenta requiere los permisos siguientes:

  • Iniciar sesión como servicio
  • Grupo administradores de la granja de servidores para las aplicaciones Web de SharePoint que utiliza Azure DevOps Server
  • TFSExecRole o ambos de los siguientes tipos de bases de datos que usa Azure DevOps Server:
    • propietario de la base de _
    • crear base de _

Para obtener más información, consulte cuentas de servicio y dependencias en Azure DevOps Server.

Suposiciones y limitaciones

El servicio Agente de trabajo en segundo plano de Team Foundation se ejecuta de forma continua en todos los servidores de capa de aplicación. No debería ser necesario que los administradores detengan o inicien manualmente este servicio salvo durante la recuperación del sistema. Por ejemplo, debe detener este servicio antes de restaurar las bases de datos. El servicio debe reiniciarse automáticamente cuando se reinicia un servidor.

Los administradores no configuran directamente el servicio agente de trabajo en segundo plano de Team Foundation. Las tareas que deben programarse se configuran directamente en componentes individuales de Team Foundation, como Team Foundation Build. Cuando se agrega o elimina un evento, el servicio reconfigura automáticamente las tareas programadas en la base de datos de registro.

El servicio agente de trabajo en segundo plano de Team Foundation solo registra una instancia de cualquier error dado hasta que se resuelva el error y se registre un mensaje de operación correcta en el registro de eventos, o hasta que el servicio se reinicie manualmente. Si desea supervisar el registro de eventos para ese mensaje de error, primero debe parar y reiniciar el servicio.

El servicio Agente de trabajo en segundo plano de Team Foundation no está diseñado como un mecanismo de programación universal. No se ha diseñado para proporcionar precisión de programación más allá del día de la semana, hora del día y minuto del día. La mayoría de los administradores no necesitan programar tareas más allá de este nivel de granularidad.