2

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

我可以从基础架构(当前正在运行多少个 WebApp 实例)获取此类信息吗?

4

1 回答 1

3

此博客文章包含有关获取 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

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

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

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

于 2015-04-30T18:14:07.217 回答