Team Foundation Background Job Agent

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

Visual Studio Team Foundation バックグラウンド ジョブ エージェント サービスには、Azure DevOps 用の Web サービスとジョブの一般的なスケジュールメカニズムが用意されています。 この Windows サービスは、新しいプロジェクト ウィザードやプロジェクト コレクションの作成ウィザードなど、さまざまなウィザードによって生成されたタスクを実行するためにも使用されます。 サービスは、TFSService と呼ばれるAzure DevOps Serverにサービス アカウントを使用します。 このサービスは、Azure DevOps の論理アプリケーション層で Web サービスまたは Web アプリケーションを実行している任意のサーバーで実行されます。 正しく動作するには、Team Foundation Background Job Agent サービスのサービス アカウントに、実行するタスクに必要なアクセス許可が必要です。

一部のサービスには、一定の間隔で繰り返されるタスクがあります。 たとえば、管理者が、毎夜 1 回ビルドが実行されるようにスケジュールする必要があるとします。 そのためには、自動的にスケジュールされるイベントをビルド サービスが登録情報データベースに設定できるようにする必要があります。 Team Foundation バックグラウンド ジョブ エージェント サービスは、Azure DevOps を実行しているサーバーで繰り返しタスクをスケジュールするための単一の Windows ベースのサービスを提供します。 サービスは登録データベースを介して実行され、スケジュールされたイベントを持つすべてのAzure DevOps Server Web サービスを識別し、これらのタスクをスケジュールします。

インスタンス

Azure DevOps 用のアプリケーション層サーバーで実行する必要がある Team Foundation バックグラウンド ジョブ エージェント サービスのインスタンスは 1 つだけです。 既定では、サービスは、Azure DevOps Serverのインストール時に指定したサービス アカウントで実行されます。 アプリケーション層サーバー上のこのサービスのステータスを表示するには、サービスを開き、参照してサービスを検索します。

アクセス許可

Team Foundation バックグラウンド ジョブ エージェント サービスは、TFSService と同じサービス アカウントAzure DevOps Server使用します。 正しく動作するには、このアカウントに次のアクセス許可が必要です。

  • サービスとしてログオン
  • Azure DevOps Serverが使用するすべての SharePoint Web アプリケーションのファーム管理者グループ
  • TFSExecRole、または次の両方を使用するデータベースAzure DevOps Server。
    • db_owner
    • db_create

詳細については、「Azure DevOps Serverのサービス アカウントと依存関係」を参照してください。

前提と制約

Team Foundation Background Job Agent サービスは、すべてのアプリケーション層サーバーで継続的に実行されます。 管理者は、このサービスを手動で停止または開始する必要はありません。ただし、システムの回復時は例外です。 たとえば、データベースを復元する場合は、事前にこのサービスを停止する必要があります。 サービスは、サーバーが再起動されたときに自動的に再起動される必要があります。

管理者は Team Foundation バックグラウンド ジョブ エージェント サービスを直接構成しません。 スケジュールする必要があるタスクは、Team Foundation Build などの Team Foundation の個々のコンポーネントで直接構成されます。 イベントが追加または削除されると、サービスによって、登録情報データベース内でスケジュールされたタスクが自動的に再設定されます。

Team Foundation バックグラウンド ジョブ エージェント サービスは、そのエラーが解決され、成功メッセージがイベント ログに記録されるまで、またはサービスが手動で再起動されるまで、特定のエラーのインスタンスを 1 つだけログに記録します。 イベント ログを監視してそのエラー メッセージをチェックする場合は、まずサービスを停止して再起動する必要があります。

Team Foundation Background Job Agent サービスは、汎用のスケジュール機構として設計されていません。 曜日、時間、および分よりも詳細なスケジュール単位に対応するようには設計されていません。 ほとんどの管理者は、このレベルの粒度を超えるタスクをスケジュールする必要はありません。