问题标签 [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 投票
1 回答
3170 浏览

node.js - Azure Durable Functions 的活动函数超时

在我的活动功能中,我正在这样做

在哪里,

getStatus()是一个get请求查看其他服务中的进程是否完成并返回truefalse基于此的函数。

在其他服务中的流程完成之前,我需要我的活动功能等待。但活动功能执行默认限制为 5 分钟。根据不同的场景,我getStatus()可能需要 2-3 个小时或更长时间才能返回true

我可以在这里做什么?有什么建议吗?

0 投票
2 回答
1060 浏览

c# - 来自服务总线队列的消息因活动功能错误而消失

我开发了一个触发新服务总线队列消息的 Azure Durable Functions 应用程序。当没有发生错误时它可以正常工作,但是当活动函数中发生错误时,它会记录它失败但消息从队列中永远消失了。可能是什么原因造成的,如何防止消息在出错时从队列中消失?

这是可复现的代码,是VS2017中新的Azure Function模板生成的代码,只是城市为“西雅图”时添加了一个例外,它是ServicebusTrigger而不是HttpTrigger。

更新:当我在编排客户端功能中出现异常时,如果重试失败 x 次,它会执行正确的操作,例如重试并将消息放入死信队列。

所以我设法通过使用这个while循环更新客户端函数来解决这个问题,检查失败/终止/取消状态。

然而,这对我来说似乎是一个 hack,而且我还没有在任何 MS 示例代码中看到这种类型的代码。我想这应该由持久功能框架来处理。是否有另一种方法可以使服务总线触发器在持久功能中工作?

0 投票
2 回答
543 浏览

c# - 持久功能:以扇出模式获取失败的任务

我正在使用扇出模式来执行可能失败的任务列表。所以我使用重试策略重试几次。现在,如果 SaveActivity 在最后一次重试后失败,那么它会掉入 catch 块,我会丢失成功的任务。

有没有办法,我可以过滤掉上次尝试后失败的任务,然后继续使用成功的列表?

是否可以在活动中进行重试尝试,以便我可以抑制异常并标记实体?

更新 1:

我不明白为什么反对票?

从任务中获取结果是不行的。从 Task.WhenAll 抛出的异常中恢复后,控件永远不会到达检查任务状态的过滤器。这是我更改代码的方式:

0 投票
1 回答
433 浏览

azure-functions - 在本地存储中看不到 log.LogInformation() 消息

我已经编写了一个持久功能应用程序,并且正在本地运行/调试它。我local.settings.json的是:

host.json是:

我将一个 ILogger 传递给我的函数,它使用log.LogInformation("...").

使用 Azure 存储资源管理器,我可以看到一个AzureWebJobsHostLogs201901表,其中包含除我的日志语句之外的所有内容。我已经用尽了 Google 搜索和 Microsoft Docs。

有任何想法吗?

0 投票
2 回答
5319 浏览

azure - 如何从 Azure 函数返回流?

我正在尝试使用 dotnet 核心编写 Azure Function v2 作为持久功能的一部分。我想创建一个活动函数,它从 blob 存储中读取文件,对其进行解密并返回解密的字节流。我可以创建解密的流,并尝试像这样返回流:

这似乎可行,但是当我尝试阅读这样的响应时:

我得到以下异常:

Newtonsoft.Json.JsonSerializationException:找不到用于类型 Microsoft.AspNetCore.Mvc.FileContentResult 的构造函数。一个类应该有一个默认构造函数、一个带参数的构造函数或一个用 JsonConstructor 标记的构造函数

我怎样才能让它反序列化成一个代表流的对象?

0 投票
1 回答
49 浏览

node.js - 在编排中捕获错误后未执行活动

我的问题是发生错误时,Some2Activity不会被执行。虽然它在文档中提到。

我什至试过这个

它不起作用。我在这里做错了什么?

0 投票
1 回答
805 浏览

c# - 耐用功能 - 活动似乎停止

请有人证实我的想法。

我有一个编排,它调用同一个 Activity 说 400 次。我正在使用扇出/扇入概念。

如果这 400 个活动的总处理时间超过 10 分钟,则它似乎没有完成,并且不会再次启动/继续,除非对编排方法进行另一个调用。

这是正确的吗?如果 10 分钟内没有任何内容在 Orchestration 中运行,Azure Function 是否会关闭?活动功能是否仍在运行无关紧要?

0 投票
1 回答
574 浏览

azure - Azure 逻辑应用需要数小时/数天才能运行 Azure Functions

背景

我有一组逻辑应用程序,每个应用程序调用一组并行运行的函数应用程序。

每个逻辑应用都被触发在夜间的某个时间启动,所有应用都错开一个小时。

Azure 函数使用异步模式编写并调用外部 API。

问题

有时逻辑应用会运行良好并在正常时间段内完成它们的执行,并且可以连续两三天这样做。

然而,有时他们会花费数小时或数天时间迫使我取消他们的跑步。

在此处输入图像描述

任何机构都可以阐明这可能正在发生吗?

笔记

  1. 我正在使用持久功能扩展的最新 nuget 包
  2. 调试时功能总是及时完成
  3. 我注意到这些功能有时会卡在待处理状态。
0 投票
1 回答
1411 浏览

asp.net-core - 持久功能:从“UsePollingFileWatcher”获取值时出错

这个错误刚刚开始突然出现。我在 Azure 中有一个持久功能,它已经运行了大约 6 周没有问题,上周开始失败。

我在本地尝试并得到了同样的错误。在工作和现在不工作之间绝对没有代码更改。我真的很难过。

0 投票
1 回答
940 浏览

azure - Azure Durable Functions 中的依赖项调用失败

背景

我有一组 Durable Azure Functions,它们是使用异步模式编写的,如此所述。

问题

在研究了应用程序洞察中的日志后,我发现我的所有功能都反复出现故障。

这是对 DurableFunctionsHubInstances 表的 GET 调用。下面的调用会导致 404 响应。

https://mydomain.table.core.windows.net:443/DurableFunctionsHubInstances(PartitionKey= 'f6eb7829ab6f4020af0431ab0115164a',RowKey='')?$select=ExecutionId,Name,Version,Output,CustomStatus,CreatedTime,LastUpdatedTime,RuntimeStatus,PartitionKey ,RowKey,时间戳,ETag

问题

这种依赖失败正常吗?我猜这可能是对日志表的初始调用,以检查是否存在需要获取并继续的预先存在的实例。

但是,我不知道这是事实,并且很想弄清楚这一点。

截图

在此处输入图像描述 在此处输入图像描述