Agente de trabajo en segundo plano de Team Foundation

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

El servicio Agente de trabajos en segundo plano de Visual Studio Team Foundation proporciona un mecanismo de programación general para los servicios web y los trabajos de Azure DevOps. Este servicio de Windows también se usa para ejecutar las tareas que generan 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, denominada TFSService. El servicio se ejecuta en cualquier servidor que ejecute un servicio web o una aplicación web en el nivel de aplicación lógica para 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 trabajos en segundo plano de Team Foundation proporciona un único servicio basado en Windows para programar tareas repetidas en servidores que ejecutan Azure DevOps. El servicio se ejecuta a través de la base de datos de registro, identifica todos los servicios web Azure DevOps Server que tienen eventos programados y programa estas tareas.

Instancias

Solo se debe ejecutar una instancia del servicio Agente de trabajo en segundo plano de Team Foundation en cualquier servidor de nivel 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 usa 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 granja de servidores para cualquier aplicación web de SharePoint que Azure DevOps Server use
  • TFSExecRole o ambas de las siguientes bases de datos que Azure DevOps Server usan:
    • db_owner
    • db_create

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 trabajos en segundo plano de Team Foundation registra solo una instancia de cualquier error determinado hasta que se resuelva ese error y se registre un mensaje de éxito en el registro de eventos o hasta que se reinicie manualmente el servicio. 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.