安排并取消未知数量的消息发送

时间:2015-06-25 15:15:07

标签: scala akka scheduler

我希望Actor能够scheduleOnce()通过邮件接收(receive())发送任意次数的邮件。这样创建的cancellable可以通过邮件收据cancel()引导。

我在考虑处理这个问题的架构时遇到了很大的困难。任何人都有关于如何使用多个Actor,函数等构建此信息的线索......?

我可以cancel() id 定义如下吗?

class myActor extends Actor {
    def Receive = {
        case msg(t) => {
            createTrigger(t)
        }
        case _ => //do something
    }

    def createTrigger(t) => {
        val id/*cancellable*/ = context.system.scheduler.schedule(t milliseconds,
                                    someActor,
                                    someMessage)
    }

    def cancelSchedule(cancellable) => {
        cancellable.cancel()
    }
}

0 个答案:

没有答案