问题标签 [azure-durable-functions]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
87 浏览

azure-functions-runtime - 清楚地了解持久功能中的诊断

我正在使用具有 3 个活动的持久函数,这些活动一个一个地执行。所有 3 个活动一个一个地执行,有任何延迟,但由于几天活动根本没有运行并且停止执行。我没有看到任何异常和日志,除了低于一,

我的 StartProcess OrchestrationTrigger 始终在执行,但无法调用 RandomNumberGeneration() 活动触发器。因此,当 StartProcess() OrchestrationTrigger 正在执行时,我得到了以下日志,并想了解更多信息

下面是 StartProcess 始终执行并调用其他活动的日志。

通过以下持久功能中的诊断:https ://docs.microsoft.com/en-us/azure/azure-functions/durable-functions-diagnostics

但无法清楚地得到它

StartProcess() 是否无法启动另一个活动,因为 DataBaseInsertion() ActivityTrigger 已处于预定状态并等待完成?

请帮助理解什么是问题以及为什么它没有运行?

0 投票
2 回答
1207 浏览

azure-functions - 将 Azure 持久函数用于 ETL 过程

我有以下情况:

我必须执行一个函数来检索 N(N 在 0 和无限之间)记录。我必须调用映射函数将记录转换为其他内容并将它们向前移动(通过 http、服务总线、cosmos db 等)

由于 10 分钟的限制,我无法使用常规的 Azure 函数,所以我正在寻找 Durable Functions 是否可以解决我的问题。

我的想法如下:
1 - 当持久函数触发时,它会从数据库中流式传输记录。
2 - 对于每条记录,它调用映射函数。
3 - 映射后,它通过服务总线将记录发送到消息。

作为概念证明,我做了下面的例子。我模拟在持久功能中接收 1000 条消息,但它的行为非常不可靠。如果我发送 1000 条消息,函数有点崩溃或需要很长时间才能完成,我希望这段代码几乎可以立即完成。

我的问题是:Durable Functions 是否适合这种情况?我应该研究一些非无服务函数方法来从数据库中提取数据吗?

有没有办法从持久函数中同步调用另一个 Azure 函数?

0 投票
2 回答
849 浏览

azure-functions - Azure 持久功能扩展

我有一个关于缩放 Azure 持久函数的问题。

我正在编写一个模拟引擎,它执行大量(1000 个)计算密集型任务(复杂数学),这些任务需要相对较短的时间,每个大约 10 秒。

我正在使用 DurableOrchestration 创建“活动”函数的扇出。

在我运行模拟的那一刻,它会将任务排队并根据我下面的配置为每个 vm 运行 2 个任务。

目前,这扩展了大约 20-30 多个虚拟机,并且需要一段时间才能运行,我的测试需要几分钟。通过查看历史记录表,我猜它正在慢慢增加 VM 的数量)。

我真正想要的是让我的函数位于指定数量的 vm 上,比如 200,并在几秒钟内运行模拟。

我正在制定消费计划,这目前是否可行,或者可以通过其他应用计划实现吗?

只是想,也许一个好主意是创建某种带有 Activity 函数调用集合的 ActivityBatch 类,您可以在其中指定每个任务将花费多长时间的近似值和所需的运行时间。

通过这种方式,Azure 可以计算需要将函数传播到多少个虚拟机,以便尝试满足用户的要求。

提前致谢

0 投票
1 回答
1227 浏览

.net - 如何将 POST 参数传递给 Durable Function,然后将此参数传递给 Timer Triggered 函数

我希望我的持久功能启动另一个基于计时器的功能,该功能必须每 5 分钟重新发生一次。到目前为止一切顺利,这是我的代码。现在我希望这个活动在我使用 HTTP 调用(POST、GET 等)调用持久函数时开始(我更喜欢使用 Queue,但不知道该怎么做)并向它传递一个参数,然后它传递这个参数到被调用的函数。如何?

0 投票
2 回答
520 浏览

c# - 我可以在 Azure Functions 2.0 中同时使用 dotnet 和 node 吗?

由于 Durable Functions JS API 现在受到限制,我想知道我可以使用 C# 脚本编写编排代码,并使用 Azure Functions 2.0 中的节点编写活动函数吗?

0 投票
1 回答
234 浏览

azure-devops - 从 VSTS 压缩部署到 Azure Functions v2 后,DurableTask 未注册

我的函数应用程序具有使用 C# 脚本编写的持久函数,可以在本地正常运行。

我创建了带有任务的 VSTS 构建:NuGet 还原、dotnet 构建/发布、存档文件 zip、发布工件:drop。

部署到 Azure App Service (Azure Functions v2) 后出现错误:

绑定类型“orchestrationClient”未注册。请确保类型正确并安装了绑定扩展。

从 VS Code Azure Functions Extension 部署也可以正常工作。

如何使用 VSTS 正确安装绑定扩展?

0 投票
1 回答
174 浏览

.net-standard - Azure Durable - 绑定类型未注册

我是天蓝色耐用功能的新手。我写了一个小型 POC 应用程序,直到昨天一切正常。今天当我尝试运行时,我收到错误“绑定类型未注册”。有没有人对此错误有任何想法

在此处输入图像描述

0 投票
2 回答
628 浏览

upgrade - Azure Durable Functions,升级 nuget 包导致本地测试失败

在我将包 Microsoft.Azure.WebJobs.Extensions.DurableTask 从版本 1.5.0 升级到 1.6.0 之前,我有一个可以完美运行的持久功能应用程序。

现在在本地运行导致控制台出现这个错误:

我绝对没有更改任何代码。我错过了什么?

在此先感谢您的帮助。

0 投票
1 回答
229 浏览

c# - Azure 持久 HTTPStart 方法中的单元测试 (Rhino) DBUp

技术栈

  1. 用于数据库升级的 DBUP
  2. 适用于活动的 Azure 耐用型
  3. Rhino 模拟单元测试。

情况

目前,我已将我的数据库升级 (DBUp) 语句放在 HTTPStart 方法中,作为我的持久 azure 函数的入口点。

问题

这种方法的问题是 DBUp 使用静态类来升级 DB,我不能使用 Rhino 来模拟静态类上的方法。

问题

我想将 DBUp 部分包装在一个非静态类中,但是我需要模拟构造函数初始化。不确定这是否可行

代码 - 升级数据库的助手类

代码 - 调用 Helper 类的 HTTPStart 方法

在此处输入图像描述

请参阅突出显示的区域。我想模拟构造函数初始化,以便在单元测试时不会发生 DB 调用。

任何人都可以帮忙,拜托。

问候塔伦

0 投票
0 回答
3366 浏览

.net - Rhino Mock 与 .NetCore 的兼容性

我正在使用 .Net f/w 处理 Azure 函数,并且我的单元测试用例运行良好。单元测试用例使用 Rhino Mock。将其迁移到 .Net Core 后,这些测试用例给出了运行时异常。一些例外是:

MissingMethodException:找不到方法:

找不到方法:'System.Reflection.Emit.AssemblyBuilder System.AppDomain.DefineDynamicAssembly(System.Reflection.AssemblyName,System.Reflection.Emit.AssemblyBuilderAccess)'。

我的问题是“Rhino 模拟是否与 .Net Core 兼容?”