Azure 诊断有状态的参与者
我仍在努力让自己的头脑清醒过来。因此,我(当前)的问题最好放在这样一个例子中:Azure 诊断有状态的参与者,azure,actor,azure-service-fabric,stateful,Azure,Actor,Azure Service Fabric,Stateful,我仍在努力让自己的头脑清醒过来。因此,我(当前)的问题最好放在这样一个例子中: 我有一个服务台系统,每张票都是有状态的演员。参与者知道它所处的状态(发布、处理、拒绝等),可以访问相关数据以及所有这些 我发现我犯了一个错误,那五万张票中有一堆是在错误的状态。所以,我需要 修正代码 发布解决方案 修复这些50000参与者的子集的数据内容 现在,我如何查询这些参与者的状态,比如“给我每一个处于“拒绝”状态并且属于名称以德语ümlaut开头的用户的参与者”?然后我如何修补这些参与者的状态数据 我
- 我有一个服务台系统,每张票都是有状态的演员。参与者知道它所处的状态(发布、处理、拒绝等),可以访问相关数据以及所有这些
- 我发现我犯了一个错误,那五万张票中有一堆是在错误的状态。所以,我需要
- 修正代码
- 发布解决方案
- 修复这些50000参与者的子集的数据内容
我真的必须为每个参与者添加一个查询方法并唤醒每个参与者吗?或者有没有办法去查询那些坐在上面的演员之外的状态字典? 也许你可以考虑在Actudio类(ES)中重写OnActuaTaseCyc,然后在那里实现清理逻辑,然后升级你的SF应用程序? 这将避免需要在外部迭代每个实例(因为SF运行时将为您调用OnActivateAsync),并将确保仅在需要时(仅在给定实例的下一次激活时)为每个实例运行逻辑
祝你好运 简单的回答是肯定的,在这种情况下,你必须唤醒每一个演员(最终) 如果你已经处于那种状态,我认为JoshL的建议是有道理的 为了避免这种情况,您可以在有状态服务中保留一个索引字典,保存您想要查询的信息,例如参与者id和状态(已发布、已处理等)。然后你只需要唤醒那些相关的演员 为此,您可以采取两种方法:
- 让有状态服务指导信息流-负责更新索引字典并告诉参与者要做什么(例如更改状态)
- 让参与者负责通知有状态服务进行状态更新(例如,可以通过提醒定期完成)李>