【发布时间】:2017-02-11 17:53:32
【问题描述】:
我发现很难找到有关使用 StatelessWorkers 的任何详细文档。
我想实现类似于this 的东西。正如文档中所建议的,我需要使用无状态工作者来处理一些消息并激活最终将保持状态的颗粒。
我希望调度程序grain 的多个实例处理“初始化”,因为这个grain 绝不处理任何状态,并且消息不需要按顺序排队。
我是否需要将此颗粒标记为可重入?还是 StatelessWorker(属性)就足够了?
关于激活,似乎我需要从IGrainWithIntegerKey(或类似接口)继承。这意味着我需要按如下方式激活谷物:
GrainClient.GrainFactory.GetGrain<IDispatcherActor>(0)
由于我总是使用 0 作为 ID,是否仍会激活grain 的多个实例?还是我需要创建不同的 ID。看来我不能这样称呼谷物:
GrainClient.GrainFactory.GetGrain<IDispatcherActor>()
即使我继承自IGrain
【问题讨论】:
标签: c# .net concurrency actor orleans