Actor 依赖 Cancellation Token 来取消可以包装在 Cancellation Token Source 中的任务。当这个单一的工作流程中有一个actor链时,取消请求可以传播到这个工作中的actor链。
可能每个参与者中的每个取消任务都可以注册到令牌中,以便在终止未完成的工作之前完成不同的工作。
这种情况是这样的,最好以相反的顺序终止这个工作链,以便产生最新的工作角色,例如发送批量工作更新数据库,最好在其父角色抛出取消异常之前取消其工作。至少对我来说,这个计划似乎比仅仅在这一系列作品的最顶端的演员身上抛出取消异常更安全。
我在想以某种方式以相反的顺序注册这些取消工作(例如使用堆栈),以便最后一个注册的取消委托执行,然后是注册为第二个最新的取消委托,依此类推。
考虑使用组合代表或堆栈与处理程序,请让我知道/纠正我以引导我走向正确的方向。