【发布时间】:2018-05-09 01:24:17
【问题描述】:
我有一个actor,它根据消息中的时间戳来安排消息的发送。目前,我必须明确地将消息发送到调度程序。
如何使调度程序对我的演员透明(代理)?拦截一些actor的传出消息,并将修饰的消息重定向到调度器。
【问题讨论】:
-
我认为您必须提供更具体的细节才能让任何人尝试回答这个问题。显示一些代码示例。
我有一个actor,它根据消息中的时间戳来安排消息的发送。目前,我必须明确地将消息发送到调度程序。
如何使调度程序对我的演员透明(代理)?拦截一些actor的传出消息,并将修饰的消息重定向到调度器。
【问题讨论】:
我认为你不能完全透明地做到这一点。我可能会在一个特征上创建一个tellScheduled(scheduledActor: ActorRef, message: Message) 辅助方法,并将它混合到需要这种行为的类中。
如果您喜欢冒险,您也可以将它连接到 ! 上的替代,这对用户来说会感觉非常透明。
另一种选择是在调度程序中“包装”接收参与者 - 外观取决于您如何获得对工作人员的引用。
Net-net,你走的路线很大程度上取决于代码。您希望调度由接收方、发送方或路由基础设施“控制”吗?
【讨论】: