1

我目前的架构遇到了一些问题,我不明白为什么......

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

对于消费计划中的一项功能,我遇到了以下情况:

  • 从队列中读取消息
  • 取决于阅读,有两种选择:
    1. 使用 StartNewAsync() 方法直接调用 Orchestrator
    2. 在另一个队列中添加消息以在应用服务计划上启动 Orchestrator

我的问题在于第 2 点。

应用服务计划上的 DurableOrchestrationClient 已启动,但似乎 2 个功能应用之间存在问题,因为在 Live Metrics Streams 中我收到很多消息说:

函数“ MyOrchestratorInAppServicePlan ”不存在、被禁用或不是编排器函数。附加信息:以下是活动的协调器函数:' AllTheOrchestratorsIHaveInConsumptionPlan '..InstanceId:601afed81ad64a0aad87bb7984de4a94。功能:MyOrchestratorInAppServicePlan。集线器名称:DurableFunctionsHub。应用名称:MyFunctionAppInConsumptionPlan。插槽名称:生产。扩展版本:1.6.0。序号:47。

而且它们不会定期启动,真正启动所需功能可能需要 30 多分钟,例如消费计划上的功能应用程序正在读取不打算发送给它的消息,而我的应用服务计划功能应用程序什么也不做,因为它已经被另一个“对待”了(我想?)。

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

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

编辑 2:我刚刚看到它做了同样的事情,但在第 1 点的情况下恢复了。应用服务计划搜索其他持久性而不是消费计划。

4

1 回答 1

1

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

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

于 2018-10-05T08:10:16.263 回答