在 Azure WebApps(以前的 WebSites)中,我可以获得实例数 运行 吗?

In Azure WebApps (former WebSites), can I get number of instances running?

我正在创建 Azure WebJob 来处理 Azure 表中的数据,并且当有多个 WebSite 实例(即向外扩展 WebSite)时需要使用一些同步处理。

我能否从基础架构中获取此类信息(当前有多少 WebApp 实例 运行)?

此博客 post 包含有关获取 Azure 网站实例数的信息 - http://blog.amitapple.com/post/2014/03/access-specific-instance/

专门针对连续的 WebJobs,有一个 api 调用可以为您提供特定 WebJob 的所有实例的状态,您需要使用此处描述的 api:https://github.com/projectkudu/kudu/wiki/WebJobs-API#get-a-specific-continuous-job-by-name

https://{sitename}.scm.azurewebsites.net/api/continuouswebjobs/{jobname}

而 属性 被称为 detailed_status

对于这两种情况,您都需要对请求进行身份验证。

但是如果您需要在 website/webjob 个实例之间锁定,您可以使用网站的共享文件系统,因为所有实例都访问相同的文件系统 (d:\home\...),您可以使用文件系统锁同步。

以下是 kudu 的示例用法: https://github.com/projectkudu/kudu/blob/master/Kudu.Core/Infrastructure/LockFile.cs