共享相同存储帐户的Azure Functions应用(并发错误?)

时间:2018-10-01 10:15:49

标签: azure azure-storage azure-functions azure-app-service-plans azure-durable-functions

我目前的体系结构遇到问题,我不明白为什么...

我有2个共享同一存储帐户的Azure Functions应用(V1)。其中之一涉及消费计划,另一项涉及应用程序服务计划。

在消费计划中,功能之一发生了以下情况:

  • 从队列中读取消息
  • 根据阅读情况,有两种选择:
    1. 使用StartNewAsync()方法直接调用Orchestrator
    2. 在另一个队列中添加消息以启动App Service计划上的Orchestrator

我的问题是问题2。

App Service Plan上的DurableOrchestrationClient已启动,但似乎两个功能应用程序之间存在问题,因为在实时指标流中,我收到很多消息:

  

函数“ MyOrchestratorInAppServicePlan ”不存在,已禁用或不是协调器功能。附加信息:以下是活动的协调器功能:' AllTheOrchestratorsIHaveInConsumptionPlan '.. InstanceId:601afed81ad64a0aad87bb7984de4a94。函数: MyOrchestratorInAppServicePlan 。 HubName:DurableFunctionsHub。 AppName: MyFunctionAppInConsumptionPlan 。 SlotName:生产。 ExtensionVersion:1.6.0。序列号:47。

而且它们没有定期启动,可能需要长达30分钟以上的时间才能真正启动所需的功能,例如,消费计划中的“功能”应用正在读取不适合该功能的消息以及我的应用服务计划“功能”应用什么也不做,因为它已经被对方“治疗了”(我想?)。

任何帮助或建议将不胜感激:D

编辑: 我可以通过重新启动两个Azure Functions应用程序来启动Orchestrator,但它并不总是处理所有待处理的持久操作

编辑2: 我只是看到它做同样的事情,但是在第1点的情况下又恢复了。App Service Plan搜索另一种持久性而不是Consumption Plan。

1 个答案:

答案 0 :(得分:0)

问题是我之前没有找到此链接:https://github.com/Azure/azure-functions-durable-extension/issues/407

这是一个已知的具有解决方法的错误