tfs - 此代理的 session 已存在

标签 tfs azure-devops tfs-2015 agent alm

我正在使用 TFS 执行夜间构建,其中包括使用 TFS Test Agent 的几个步骤.我正在运行最新版本的 TFS/测试代理(2015 - 更新 3),目前没有其他版本正在运行。通常(可能有一半的时间),当夜间作业运行时,“Visual Studio 测试代理部署”步骤失败并出现以下错误:

The job has been abandoned because agent Agent-XXX did not renew the lock. Ensure agent is running, not sleeping, and has not lost communication with the service.



这是由于在测试代理的日志文件中发现的错误(在 _diag 下):

The session for this agent already exists. Sleeping for 30 seconds before next retry.

Microsoft.TeamFoundation.DistributedTask.WebApi.TaskAgentSessionConflictException: The task agent Agent-XXX already has an active session for owner XXX.



这个问题直接引用here ,间接谈到了here .

我发现这个问题的解决方案是重新启动测试代理正在运行的服务器,这会清除所有死 session ,并且在服务器启动备份后,测试运行得很好。我认为这实际上是在 previously mentioned post 中所做的工作。 .重置配置的结果是服务重新启动。

虽然在链接文章中作为解决方案提出,但这只是暂时的。即使在服务器重新启动并且构建成功运行后,第二天问题仍会再次出现,需要手动干预才能运行构建。

我可以安排一个任务来重置服务,甚至在每晚构建运行之前直接重新启动服务器,但它让我觉得是绷带而不是修复。有没有人以前遇到过这个问题,如果有的话,有什么办法可以防止它首先发生?

更新 1

我只是设置了一个在运行 Bat script 的主要测试之前运行 5 分钟的构建。重新启动托管我的测试代理的所有服务器。这是一种解决方法,但似乎可以解决问题。希望有一天有人能想出比这更好的解决方案,但就目前而言,这就是我必须在 TFS 中运行自动化测试的方式。

更新 2

我现在有三台服务器,所有三台服务器都表现出相同的问题,尽管很难确定它发生的确切时间。在不造成停机的情况下扩大解决方法被证明是非常具有挑战性的。

更新 3

好日子来了,我把TFS升级到2018,构建代理升级到最新版本,这个问题不再出现,我认为是旧构建代理中的一个错误。我仍然没有原始版本的构建代理的解决方案......

最佳答案

我只是重新启动我的服务器,然后打开 run.cmd,我的问题就解决了。
我希望这对你有用。

关于tfs - 此代理的 session 已存在,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41858662/

相关文章:

azure - 功能配置已更改原因 'Get Web App Publishing Profile'

azure devops ,仅 checkout CI 中的 runner 分支

tfs - 在构建定义 Team Foundation Server 2015 中运行/排除特定测试

visual-studio-2010 - TFS 登机政策最佳实践/您的经验

node.js - TFS 上的 Node 构建问题

tfs - 将代码从 TFS 移至 Azure DevOps Repo,而不丢失 TFS 历史记录

tfs - 找不到具有以下功能的代理 : msbuild, Visualstudio、vstest

api - 是否有 REST API 来确定已安装的 TFS 服务器的版本?

c# - 如何安全地存储和设置 SmtpClient 类使用的密码?

tfs - 如何确保 TFS 客户端安装了最新版本的自定义 checkin 策略?