【发布时间】:2015-04-30 06:27:32
【问题描述】:
我正在创建 Azure WebJob 以处理 Azure Tables 中的数据,并且当有多个网站实例(即网站被横向扩展)时,我需要使用一些处理同步。
我能否从基础架构中获取此类信息(当前正在运行多少 WebApp 实例)?
【问题讨论】:
标签: azure-web-app-service azure-webjobs azure-webjobssdk
我正在创建 Azure WebJob 以处理 Azure Tables 中的数据,并且当有多个网站实例(即网站被横向扩展)时,我需要使用一些处理同步。
我能否从基础架构中获取此类信息(当前正在运行多少 WebApp 实例)?
【问题讨论】:
标签: azure-web-app-service azure-webjobs azure-webjobssdk
这篇博文包含有关获取 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。
对于这两种情况,您都需要对请求进行身份验证。
但是,如果您需要在您的网站/网络作业实例之间设置一个锁,您可以使用网站的共享文件系统,因为所有实例都访问同一个文件系统 (d:\home\...),您可以使用文件系统锁进行同步。
以下是 kudu 的示例用法: https://github.com/projectkudu/kudu/blob/master/Kudu.Core/Infrastructure/LockFile.cs
【讨论】: