c# - 如何记录扩展到多个实例的 webjob 的实例 ID

标签 c# azure-webjobs

我的程序目前正在从服务总线队列中读取数据,我正计划扩展实例。 但在这样做之前,我想确认缩放是否真的有效尝试获取线程详细信息,但它没有提供任何具体证据

最佳答案

How to log the instance ids for webjob scaled out to multiple instances

据我所知,每个网络应用程序的实例都有自己的实例 ID。

它将保存为 environment variable在其网络应用服务器中。

如果你想获取当前的 webjobs 实例 ID,我建议你可以获取它的环境变量(WEBSITE_INSTANCE_ID)。

代表站点运行的 VM 的 id(如果站点在多个实例上运行,每个实例将有不同的 id)

更多细节,你可以引用下面的代码:

public static void ProcessQueueMessage([QueueTrigger("queue3")]  string thumbnail, TextWriter log)
        {

            string instanceid = Environment.GetEnvironmentVariable("WEBSITE_INSTANCE_ID");

            log.Write( "Current instance ID : "  +  instanceid);
        }

结果:

enter image description here

关于c# - 如何记录扩展到多个实例的 webjob 的实例 ID,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44480658/

相关文章:

c# - IEnumerable 的多个枚举器

c# - 用于角色管理的 MVC3 复选框列表

c# - 如何在 WPF 中动态填充 treeview

c# - 将数据存储在 Azure WebJob 中

azure-functions - 从 azure 函数推迟或放弃消息服务总线队列

c# - 执行 Windows Azure Web 作业

c# - 将二维数组转换为列表(一维)的快速方法

c# - 从范围内看不到标签匹配 'AutofacWebRequest' 的范围

azure - 如何使用Log4net登录Azure Webjob?

c# - 远程服务器返回错误: (400) Bad Request when trying execute AddMessageAsync()