该代理的会话已存在

2024-01-03

我正在使用 TFS 执行夜间构建,其中包括使用TFS测试代理 https://www.visualstudio.com/en-us/docs/test/lab-management/test-machines/install-configure-test-agents。我正在运行最新版本的 TFS/Test Agent(2015 - Update 3),目前没有运行其他版本。通常(也许有一半的时间),当夜间作业运行时,“Visual Studio 测试代理部署”步骤会失败并出现以下错误:

该作业已被放弃,因为代理 Agent-XXX 未续订 锁。确保代理正在运行,没有休眠,并且没有丢失 与服务的通信。

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

该代理的会话已存在。睡觉30秒 在下次重试之前。

Microsoft.TeamFoundation.DistributedTask.WebApi.TaskAgentSessionConflictException: 任务代理 Agent-XXX 已拥有所有者 XXX 的活动会话。

这个问题直接参考here http://ericphan.net/blog/2016/6/10/solving-the-tfs-build-agent-error-the-session-for-this-agent-already-exists,并间接谈到here https://social.msdn.microsoft.com/Forums/vstudio/en-US/a188d2cd-3985-4d8a-84e1-723ef49ab314/vnext-build-agent-service-fails-to-start-at-reboot-vsoagentservice?forum=tfsbuild.

我发现这个问题的解决方案是重新启动测试代理正在运行的服务器,这会清除所有无效会话,并且在服务器启动备份后,测试运行得很好。我认为这实际上是正在做的事情之前提到的帖子 http://ericphan.net/blog/2016/6/10/solving-the-tfs-build-agent-error-the-session-for-this-agent-already-exists。重置配置的结果是服务重新启动。

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

我可以安排一个任务来重置服务,甚至可以在运行夜间构建之前直接重新启动服务器,但它给我的印象是绷带而不是修复。以前有人遇到过这个问题吗?如果有的话,有什么办法可以从一开始就防止它发生吗?

Update 1

我只是设置了一个在主要测试之前运行 5 分钟的构建,该测试运行蝙蝠脚本 https://stackoverflow.com/questions/162304/how-do-i-shutdown-restart-logoff-windows-via-a-bat-file重新启动托管我的测试代理的所有服务器。这是一种解决方法,但似乎可以解决问题。希望有一天有人能提出比这更好的解决方案,但目前,这就是我在 TFS 中运行自动化测试的方式。

Update 2

我现在有三台服务器,所有三台服务器都表现出相同的问题,尽管很难准确确定问题发生的时间。事实证明,在不造成停机的情况下扩大解决方案的规模是相当具有挑战性的。

Update 3

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


听起来好像有一个进程 Agent.Listener.exe 正在计算机上的某个位置运行,可能作为服务(而不是登录的用户会话)运行。

请注意,如果代理进程在有活动会话时突然终止,则该会话最终将超时(我认为是 5 分钟后)。并且在启动时,如果代理遇到会话冲突,那么我认为在放弃之前它将重试长达 5.5 分钟(足够的时间让突然终止的会话过期)。

我将继续关闭它并假设某个进程正在某处运行。我们在这方面没有遇到任何问题,也没有听到任何其他报告,所以我认为代理没有问题。如果您找到复制品,或者看起来我错了,请重新打开。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

该代理的会话已存在 的相关文章

随机推荐

  • iOS:MapView 注释未显示图钉

    由于某些奇怪的原因 viewForAnnotation 仅适用于 viewDidLoad 中设置的引脚 这是一个测试引脚 在其他地方加载的引脚在按下时不会被注释 我已经设置了代表 我认为这与mapView调用中的标识符有关 但我不确定如何解
  • Sprite 套件中的 iCarousel

    解释 我正在尝试构建一个类似于 Crossy Road 的角色选择菜单 如您所见here http www therockstargamers com wp content uploads 2015 04 crossy road chara
  • MVC Web API 绑定模型到派生类

    我正在研究如何将模型绑定到 MVC Web API 中的派生类 我遇到的问题是我认为我已经找到了大约 5 种方法 我所拥有的是 型号 gt 模型库 模型A 模型库 模型B 模型库 然后控制器容器该方法 Post ModelBase mode
  • XNA 的自动 XNB 序列化支持哪些类型?

    我已阅读 Shawn Harvgreave 关于自动序列化的博客文章和关于内容管道概述的 MSDN 文章 但我找不到支持的类型列表 引用MSDN 从 XNA Game Studio 3 1 开始 自定义数据的序列化 对于不支持的简单类型 X
  • 如何从 Rails 中的哈希列表中删除嵌套键

    我现在正在尝试几个小时来删除哈希列表的嵌套哈希键 我看到许多解决方案非嵌套哈希 如下所示 sample hash key1 gt value1 key2 gt value2 sample hash except key1 这导致 key2
  • 使用 web api HttpResponseMessage 输出图像

    我正在尝试使用以下代码从 asp net web api 输出图像 但响应正文长度始终为 0 public HttpResponseMessage GetImage HttpResponseMessage response new Http
  • Python对不同维度变量进行曲面拟合得到未知参数?

    我有一个包含 x 和 y 作为自变量的函数 我想将参数拟合到数据和函数并绘制曲面图 我看到如果变量有两个不同的维度 我可以使用np meshgrid x y 那么我如何找到参数a b c呢 我的代码如下所示 import matplotli
  • Python 中的分块矩阵赋值

    从这个mwe a np zeros 5 5 b np zeros 2 2 a np matrix a b np matrix b b 0 0 4 b 1 1 9 b 0 1 7 indice 2 3 1 c a indice indice
  • 领域逻辑与数据验证

    我正在忙着阅读并享受 Mark Seemann 所著的 Net 中的依赖注入 我很难解释确切的上下文 所以如果你熟悉这本书 请只关心这个问题 我的问题与第 2 章第 49 页中的两个 Product 类有关 其中一个位于域层 一个位于数据访
  • jquery 绑定多个锚点

    我想将相同的事件绑定到锚链接列表 为什么这不起作用 Markup a href contactRoles class fg button fg button icon right ui widget ui state default ui
  • 如何防止 R 显示 exp 和 log 值 inf 和零

    我将计算矩阵正态密度以在对数似然公式中使用它们 在我的计算中 我需要计算大数 数千万 的指数 我意识到 当 i gt 710 时 R 会返回 exp i 的无穷大 无论如何 我可以手动强制 R 不显示无穷大 或者其日志不相应地为 0 吗 感
  • 查找元素更改值的索引 pandas dataframe

    关于这个问题 答案 https stackoverflow com questions 19125661 find index where elements change value numpy 有没有一种方法可以为 pandas 数据帧结
  • 进度条适用于 Android API 23,但不适用于 21 或 22

    这是 xml 部分
  • 重新发明标签控件

    我需要从头开始重新发明 重新创建标签控件 以添加我自己的魔力 是的 我知道你在想什么 如果你不这么想 你不应该这样想吗 有人能指出我正确的方向吗 谢谢 重新创建标签的全部目的是我想要完全控制它如何绘制到屏幕上 这样我也可以拥有它的 KeyD
  • ILMerge 问题错误代码 1

    我知道 ilmerge 是一个控制台应用程序 但当我运行它时 它运行一秒钟然后关闭 下面是我尝试使用的预构建代码 它给出了这个问题 Error 1 The command ilmerge out F Users Tom Desktop Ne
  • Cocoa osx NSTableview 改变行高亮颜色

    在我的应用程序中 我有一个基于视图的 NSTableView 其中有一列 行的突出显示颜色设置为常规 蓝色 我需要将该颜色更改为我的自定义颜色 在界面生成器中 我尝试更改它 但唯一的选项是 无 常规和源列表 我尝试了这个帖子解决方案但没有成
  • 将算法从 C# 转换为 VB.NET 失败

    我正在尝试将以下算法从 C 转换为 VB NET 但我所拥有的 VB NET 生成的结果与我的 C 算法不同 有人可以告诉我在转换过程中哪里出了问题吗 public static IEnumerable
  • Makie:散点图的非重叠标签放置算法

    我使用 CairoMakie 散点图 XY 数据集 但使用标签作为标记 using CairoMakie x 0 0 5 0 50 y 0 0 5 0 51 lbls O A B fig Figure ax Axis fig 1 1 sca
  • 如何在 Ubuntu 15.10 中将 Robomongo 从 tar.gz 文件安装为程序

    如今 robomongo 开发人员发布了 robomongo 的新版本tar gz not in deb易于双击安装的软件包 但该选项不再可用 那么如何将其安装为Ubuntu中的程序 我尝试解压软件包并安装但失败 admin admin l
  • 该代理的会话已存在

    我正在使用 TFS 执行夜间构建 其中包括使用TFS测试代理 https www visualstudio com en us docs test lab management test machines install configure