我相信我会在概念上理解Azure耐用功能中的内容。您必须启动业务流程功能,以等待活动。活动完成后,编排功能从顶部开始,但是由于该活动现在具有结果,因此将使用结果而不是再次调用它。
这意味着编排功能“进入睡眠状态”。我一直在研究GitHub上的Azure耐用功能和耐用任务框架的源代码,但我无法完全找到影响等待任务回调的实际代码行。
有人能指出我正确的方向吗?
谢谢!
答案 0 :(得分:0)
我不是该主题的专家(最近我一直在研究任务的持久性),但从本质上讲,“睡眠”是通过安排任务来实现的。所有持久性任务(编排器和活动)都由队列消息触发,并且在编排的情况下,每次都会重播。
谈到代码,大部分工作都是在Durable Task framework本身中完成的。对于您的特定查询
badge.setBadgeGravity(BadgeDrawable.BOTTOM_END);
的实现在提供程序中,而持久功能的实现在其Azure Storage Queues中。没有真正的睡眠,但是一旦编排动作完成,带有响应的另一条消息将触发编排功能,使其重播。