我有一个 SF actor 服务,其工作原理大致如下:
- 在
RunAsync
服务中启动时,会创建一组预定义的参与者,并通过调用一个空StartAsync
方法(在IActor
- 派生的自定义接口上定义)来激活所有参与者。 - 每个参与者都会覆盖
OnActivateAsync
它注册提醒的地方,dueTime
并且period
都设置为 10 秒。 - 参与者在
IRemindable.ReceiveReminderAsync
实现中完成所有工作。这项工作通常很快(约 100 毫秒),但有时可能会持续几分钟(我知道这是糟糕的设计,请不要对此发表评论:-))。
我的问题是:当提醒到期时会发生什么,但演员仍然执行之前的回调代码?
根据文档,回调是排队的,但我也想知道队列是否以某种方式受到限制以及达到限制时会发生什么?
感谢您的反馈意见!
帕洛