可靠的服务通知-服务启动时触发StateManagerChanged添加事件

时间:2019-03-06 18:45:41

标签: azure-service-fabric service-fabric-stateful

我正在听Reliable Services Notifications做一些背景工作。期望是:每当添加新的IReliableConcurrentQueue时,它都应该启动一个poller/dequeuer线程来处理队列中存在的项目。

为此,我听了NotifyStateManagerChangedAction.Add事件,并在事件处理程序中创建了一个轮询线程,该线程将在新添加的队列上开始出队。

  1. 我对此事件(NotifyStateManagerChangedAction.Add)的理解是,每当将新的IReliableState(在我的情况下,其IReliableConcurrentQueue)添加到StateManager时,此事件就会触发。而且,只要有新项目排队到已经存在的IReliableConcurrentQueue中,就不会触发此事件。正确吗?
  2. 服务启动期间会触发
  3. NotifyStateManagerChangedAction.Add。理想情况下,不应该这样。为什么会触发?
  4. 在轮询器线程中,当我尝试从State Manager is currently not readable获取队列时,它将引发“ StateManager”异常。是因为事件是在StateManager上触发的,并且事件处理程序(轮询线程)正在尝试访问事件在其上触发的StateManager?是僵局吗?

参考:https://docs.microsoft.com/en-us/azure/service-fabric/service-fabric-reliable-services-notifications

0 个答案:

没有答案