手动重新启动 Azure Worker 角色“WaWorkerHost.exe”

2023-12-21

据我了解,Azure Worker 角色是在名为“Host”的应用程序的帮助下运行的WaWorkerHost.exe还有另一个应用程序称为WaHostBootstrapper.exe它检查是否WaWorkerHost.exe正在运行,如果没有,它将运行WaWorkerHost.exe.

  1. 这种“工作人员角色状态检查”多久发生一次?
  2. 如何自己快速重启Worker角色?我可以重新启动正在运行的机器工作角色并等待几分钟,或者选择以下传统方法:

    Taskkill /im /f WaWorkerHost.exe

    并等待几分钟WaHostBootstrapper.exe启动,但这非常低效且缓慢。 是否有任何(即时)方法可以重新启动辅助角色?

  3. 我可以运行类似下面的代码并期望得到与以下类似的结果吗WaHostBootstapper.exe还是有其他考虑?

    WaWorkerHost.exe {MyAzureWorkerRole.dll}


  1. 引导程序每 1 秒检查一次 WaWorkerHost 状态。
    您可以通过查看跟踪间隔在引导程序日志 (c:\resources\WaHostBootstrapper.txt) 中看到它:

“从客户端 WaWorkerHost.exe 获取状态”


  1. 您可以使用Azure工具 https://blogs.msdn.microsoft.com/kwill/2013/08/26/azuretools-the-diagnostic-utility-used-by-the-windows-azure-developer-support-team/这是 Azure 支持团队使用的实用程序。

它的特点之一是优雅地回收角色实例:

或者,您可以通过编程方式重新启动实例:

  • Upload 管理证书 https://azure.microsoft.com/en-gb/documentation/articles/cloud-services-certs-create/#what-are-management-certificates到您的订阅。
  • 使用以下代码以编程方式重新启动实例:

Using Microsoft Azure 计算管理库 https://www.nuget.org/packages/Microsoft.WindowsAzure.Management.Compute/:

X509Certificate2 cert = new X509Certificate2("");
var credentials = new CertificateCloudCredentials("your_subscription_id", cert);

using (var managementClient = new ComputeManagementClient(credentials))
{
    OperationStatusResponse response =
        await managementClient.Deployments.RebootRoleInstanceByDeploymentSlotAsync(
            "cloud_service_name",
            DeploymentSlot.Production, // or staging
            "instance_name");
}

  1. 不建议这样做,原因有以下三个:

    1. 引导程序每秒检查一次,这对于大多数情况来说应该足够了。
    2. 这可能会导致奇怪的问题。比如你kill了worker,bootstrapper识别到worker宕机了,你手动启动worker,bootstrapper也尝试启动worker却失败(会崩溃?会进入僵尸状态?)。它可能会导致引导程序不健康,意味着没有任何东西可以处理工作进程。
    3. 当然,这取决于引导程序除了启动工作程序之外还做什么。但即使它目前除了启动该角色之外什么也不做,您也无法确定明天 Azure 团队是否会决定为其添加更多职责/操作。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

手动重新启动 Azure Worker 角色“WaWorkerHost.exe” 的相关文章

随机推荐

  • AWS S3 预签名 URL 包含 X-Amz-Security-Token

    我正在尝试使用 go sdk 为 S3 存储桶中的文件创建预签名 URL 当我从命令行运行程序时 我得到了不包含 X Amz Security Token 的预签名 URL 但如果我使用 lambda 函数中的相同代码 我总是会在 URL
  • 在 Python 类中支持等价性(“平等”)的优雅方法

    在编写自定义类时 通过以下方式允许等效性通常很重要 and 运营商 在 Python 中 这是通过实现 eq and ne 分别采用特殊方法 我发现执行此操作的最简单方法是以下方法 class Foo def init self item
  • 使用 Gtk 3 在 Python 中加载并显示来自网络的图像?

    我正在 Ubuntu 12 04 上使用 Python 和 GTK 3 编写一个应用程序 我遇到的问题是我不知道应该如何使用来自网络的图像文件在我的应用程序中显示 Gtk Image 据我所知 from gi repository impo
  • Axlsx - 设置单元格内文本的格式

    我似乎找不到任何有关是否可以使用多个格式选项填充单个单元格的信息 例如 我希望单元格 A1 填充以下文本 Hello世界 这是excel 这可能吗 如果可以 我应该使用什么语法来执行此操作 对于内联样式 请使用富文本 以下是 axlsx 页
  • 当我尝试运行 Python 脚本时,为什么会出现“预期有缩进块”? [关闭]

    Closed 这个问题不符合堆栈溢出指南 help closed questions 目前不接受答案 编辑问题以包括期望的行为 特定问题或错误以及重现问题所需的最短代码 help minimal reproducible example 这
  • VS2015 - 更改 TypeScript 版本

    我正在尝试更新我的 Visual Studio 2015 Cordova TypeScript 项目以使用 TypeScript 版本1 6 0 beta 我目前正在使用1 5 3 我可以使用 NPM 安装最新版本 但我的项目继续使用旧版本
  • 更改列的因子值

    我试图根据同一数据帧的另一列 solve status 列将值分配给数据帧的新列 all solved status 是一个具有 3 个标签的因子 ABC XYZ MNP 我必须根据条件 if ABC then 1 else 0 分配给 0
  • 如何从 Django DeleteView 发送错误消息?

    假设有两个模型Parent and Child Parent to child是一对多的关系 我正在为父模型创建DeleteView 在删除之前我需要检查是否Parent has Children 如果没有Children then Par
  • 计算总 Onclick Javascript

    我正在学习 Javascript 并且对该语言还很陌生 在我的 HTML 代码中 我有两个列表 在第一个选择列表中选择您想要的产品 在第二步中 您选择所需的产品数量 我试图编写一个 javascript 代码 它执行以下操作 获取乘积值并将
  • 使用 Google Maps API 查找某个区域内的街道交叉口

    给定一个正方形区域 找到给定区域内每个街道交叉口的近似坐标的最佳方法是什么 由于没有对您的应用程序的描述 我无法判断您是否需要使用 Google 地图 或者其他数据源是否可以满足您的需求 如果http openstreetmap org h
  • 如何使用资源包设置 fx:value?

    在 java fx 中 可以使用 i18n 标签来使用组件 key符号 例如
  • 如何在加载时处理 webpack ENV 变量?

    当您创建 构建 webpack 时 如何将 ENV 变量传递到代码中是非常清楚的 请参阅此现有线程 在 webpack 中传递环境相关变量 https stackoverflow com questions 30030031 passing
  • 未应用页脚 CSS

    当我写这篇文章时 Hello 一词出现在我的页面顶部而不是底部
  • 如何使 Aero 玻璃背景上的 WPF 文本可读?

    我有一个 WPF 应用程序 可以在 Aero 玻璃背景上绘制文本 问题是根据显示的内容behind在我的应用程序中 玻璃背景上绘制的文本可能会变得难以阅读甚至完全无法阅读 正如您在下面的屏幕截图中看到的 Save Undo and Redo
  • 在c中获取一个字符而不按“enter”

    是否可以 使用常规 scanf 或 getchar 不起作用 因为 输入字符后我必须按 输入 你正在接近的领域ncurses http www gnu org software ncurses
  • 如何开始使用大型决策表

    今天我面临一个有趣的挑战 我希望您能就如何处理这种情况提出意见 所以问题如下 我已将其转换为演示数据 因为如果不熟记公司字典 真正的问题就没有多大意义 我们有一个至少包含 16 个条件的决策表 因为管理所有这些 2 16 种可能性 是一项不
  • ubuntu中libevent开发库的安装

    我正在使用 ubuntu 10 10 尝试安装 libevent 开发库 libevent1 和 libevent2 我使用了以下命令 apt get install libevent dev libevent1 dev But it sh
  • Spring Data JPA 有什么方法可以使用方法名称解析来计算实体数量吗?

    Spring数据JPA http static springsource org spring data data jpa docs 1 1 0 RELEASE reference html 支持使用规范对实体进行计数 但是它有什么方法可以
  • 使用带有 utf8 的 NLTK 分词器 [重复]

    这个问题在这里已经有答案了 我是 Python 的一个相当新的用户 我主要处理导入的文本文件 尤其是 csv 文件 这让我处理起来很头疼 我尝试阅读这样的文档 https docs python org 2 howto unicode ht
  • 手动重新启动 Azure Worker 角色“WaWorkerHost.exe”

    据我了解 Azure Worker 角色是在名为 Host 的应用程序的帮助下运行的WaWorkerHost exe还有另一个应用程序称为WaHostBootstrapper exe它检查是否WaWorkerHost exe正在运行 如果没