将外部事件发送到 Durable Function Orchestrator 会导致 Orchestrator 死亡

时间:2021-04-12 09:13:26

标签: python azure-functions azure-durable-functions

我使用 HTTP 触发器来触发运行多个活动功能的 Orchestrator 功能。每隔几分钟调用一次 Http 触发器以检索 Orchestration 的状态。活动功能需要外部令牌才能进行某些操作。此令牌与 HTTP 触发器一起发送到 Orchestrator。为了避免在 Orchestrator 运行时间更长时使用过期令牌,我在 Http 触发器中包含了一个外部事件,该事件在每次调用触发器时发送一个新令牌,因为我没有找到其他方法将新数据发送到正在运行的 Orchestrator。现在,如果我在 Orchestrator 中的活动功能之后添加 wait_for_external_event 功能,则一切正常。但是如果我在活动被调用之前设置它,它会导致 Orchestrator 停止工作。 HTTP 触发器的 client.get_status 函数在第一次运行后返回失败状态。

我不确定为什么会这样,根据我的理解,它不会对我何时等待外部事件产生影响。发生这种情况有什么原因吗?在监控中,Orchestrator 仍显示为“正在运行”。

这是我的 http 触发器:

using System.Linq;

...

public void ChangeDailyTasks()
{
    gameManager.ActiveTasks.today = gameManager.DateTimeNow();
    gameManager.ActiveTasks.Dailytasks = gameManager.TaskList.OrderBy(t => Random.value).Take(5).ToList();
}

0 个答案:

没有答案
相关问题