该代理的会话已存在

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(使用前将#替换为@)

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

  • VSTS:在构建过期的情况下自动变基/合并和重新排队构建验证门

    我们最近对 PR 上的构建验证门进行了更改 这样 如果另一个提交在当前 PR 完成之前进入主分支 则构建会 立即 过期 看here https stackoverflow com questions 49418800 vsts invali
  • 使用 powershell 进行 Azure DevOps git checkout

    我正在尝试使用 Azure Pipelines yaml 从 powershell 脚本中使用 git 进行结帐 当我在构建过程中运行以下命令时 我的构建挂起 task PowerShell 2 displayName Update rea
  • 更改 TFS 构建代理的身份

    我们有一个运行集成测试的 TFS 构建代理 其中一些测试会调用 Internet 上的 Web 服务 我们的网络使用代理与互联网通信 由于构建代理在网络服务上的身份下运行 并且网络服务的设置未配置为使用代理 因此测试失败 我该如何执行以下操
  • 我们是否错误地使用了 TFS 2010? [关闭]

    Closed 这个问题是基于意见的 help closed questions 目前不接受答案 我们的团队是 TFS2010 的新手 从历史上看 我们一直使用我们自己的业务需求矩阵 可追溯性矩阵 Excel 电子表格 它具有典型的列 例如
  • Azure Devops Pipeline YAML 中的 Git 标记名称

    Summary 如何获取 Azure Devops Pipeline YAML 文件中当前 git 标签的名称 我想做什么 我正在 Azure Devops 中设置构建管道 创建新的 git 标签时会触发管道 然后我想构建 docker 镜
  • 使用搜索模式 '...\**\TEST-*.xml 找不到测试结果文件

    我正在 TFS Nunit 加带有适配器的 Visual Studio 中运行测试 并且我已设置构建定义如下 构建成功但没有生成测试结果文件 TFS 是否写入此 Xml 文件 日志 2017 02 08T08 08 40 8151428Z
  • 是否可以为 TFS2015.2 构建定义命令行步骤配置“消息突出显示模式”?

    可以配置Error message highlight pattern and Warning message highlight patternTFS2015 2的Command Line step 例如 我可能有以下运行命令行实用程序的
  • 如何在 Azure 管道上运行 Karate API 测试

    空手道和 Azure 新手 刚刚使用空手道创建了一些 API 测试 而且很简单 想要进一步添加 Azure 管道 找到了一些仅指向添加 Microsoft 的 pom xml 和 maven 的链接 还发现了 Jekins 集成 但没有适用
  • 通过 TFS 构建服务执行时 MSBuild 找不到引用

    我有一个参考 Telerik 程序集的解决方案 引用的版本已安装在构建服务器上 问题是 持续集成构建总是成功的 直到我升级解决方案和构建服务器上的 Telerik 程序集 现在构建无法提供经典的 无法解析此引用 我检查了我的解决方案 一切都
  • 如何使用 Azure DevOps REST API 创建新的构建管道?

    我正在尝试以编程方式创建新的构建管道 我正在寻找用于此操作的 Azure DevOps REST API 我没有获得使用 REST API 创建管道的正确示例 请指教 如何使用 Azure DevOps REST API 创建新的构建管道
  • 以编程方式将工作项关联到拉取请求

    我可以得到 https www visualstudio com en us docs integrate api git pull requests get a pull request https www visualstudio co
  • 获取 405 方法不允许将 NuGet 发布到 VSTS/ADO

    我刚刚设置了一个新的 ADO 以前称为 VSTS VSO 包管理源 并且尝试从桌面向其发布本地 NuGet 包 我按照提要中的说明进行操作 但当我尝试发布时收到 405 方法不允许 我按照 NuGet 3 3 VSTS 凭据提供程序 的说明
  • 分布式环境中的 MS Team Foundation Server - 提示所需技巧

    是否有人在地理分布的团队中使用 Team Foundation Server 我们在英国 尝试与澳大利亚的团队合作 但我们发现这非常困难 我们主要的两个问题是 事情正在向我们检查 而我们无需询问最新情况 即使使用代理 大多数事情也需要一段时
  • 在 azure devops 门户上查看代码覆盖率报告

    我正在运行 NUnit 测试 Net Framework 4 5 中的项目 作为 azure devops 构建管道的一部分 task VSTest 2 inputs testAssemblyVer2 tests Tests dll pat
  • 如何从本地 TFS2015 获取 PAT

    我们希望将自定义步骤从 XAML 构建迁移到本地 TFS2015 中的新构建任务 我安装了 NodeJS 和 tfx cli 但是当 tfx cli 想要连接到 TFS 时 我需要提供 pat 个人访问令牌 但我找不到在哪里可以获得它 所有
  • 如何使用服务帐户模拟 Azure Devops 中的用户

    我创建了一个服务帐户来模拟组织中的用户 以便以用户的名义更改工作项 我已经将该服务帐户添加到 项目收集服务帐户 组中 其中 代表其他人提出请求 设置为 允许 服务帐户具有 Visual Studio 订阅 然后 我使用与本地 TFS 配合使
  • 如何在没有 YAML 的情况下使用代理池下的特定私有代理?

    我在代理池下设置了 2 个私有代理 但是当我运行管道时 我想要一个特定的代理来运行管道 但它没有发生 如何选择或在何处选择特定代理来使用 YAML 配置运行管道 您需要使用您想要的代理名称来指定需求 您可以在 yaml 中的池名称后输入需求
  • MsBuild 在 Visual Studio Online 上找不到恢复的 NuGet 包

    我尝试构建一个存储在 Visual Studio Online 上的外部 GIT 存储库中的解决方案 它有以下步骤 1 Git 恢复 有效 2 NuGet 恢复 有效 3 构建 不起作用 查看日志时我的第一个猜测是 MsBuild 没有查找
  • 无需代理转发的 SSH 跳转主机

    虽然是一个简单的问题 但我已经搜索了几天没有成功 M My machine J Jump Host S Server Jump Host has my public key on authorized keys Server has J s
  • 在私有管道中设置 VSTS 代理的 docker 权限

    我已经使用 Linux 虚拟机设置了专用管道 并且安装了代理 并且在门户中显示代理处于活动状态 我也安装了docker 在同一台机器上 如果我使用 sudo docker 它就可以工作 所以我确信 VSTS 代理运行命令时存在权限问题 不确

随机推荐

  • 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