似乎有两个Web作业相互锁定

时间:2018-11-06 10:14:05

标签: azure-storage azure-storage-blobs azure-webjobs azure-web-app-service

有人可以帮助我发现我们的App Services发生了什么。我们有两个与两个Blob存储容器相连的App服务,当一个物品放在它们正在侦听的容器上时就会触发。

    App One         App two       (under the same subscription)
       |               |
    WebJobs(9)     WebJobs(9)
       |               |
 Container one   Container Two    (under the same storage account)

这表示环境,因此应用程序一是我们的开发环境,应用程序二是我们的测试环境。放置在每个容器中的每个项目都会在其App Service中触发一个webjob。每个App Service的存储帐户下都有一个存档容器,用于存储Blob的副本。

我们所处的情况是我们似乎无法同时运行两个WebJob(每个WebJob中的9个)。当另一个应用程序服务中的WebJob停止时,我们只能在一个WebJob中激活触发器。它们似乎相互锁定,但是我给人的印象是,我们拥有的结构会将所有这些分离,并且锁不会相互干扰。我可以找到的信息是,读取Blob会锁定Blob,而更新Blob则会锁定容器。如果那是正确的,那么为什么他们似乎互相锁定了。

任何有关可能导致此问题或如何解决问题的建议都将不胜感激。

1 个答案:

答案 0 :(得分:0)

此问题似乎与您的WebJobs函数逻辑有关。如果WebJob同时访问同一资源,则WebJob将相互影响。然后会导致问题。请查看conflict section