2018-10-29 17:19:37 +08:00
|
|
|
/*
|
2019-01-02 18:55:26 +08:00
|
|
|
* Copyright (C) 2017-2019 Lightbend Inc. <https://www.lightbend.com>
|
2017-06-16 11:31:00 +02:00
|
|
|
*/
|
2018-03-13 23:45:55 +09:00
|
|
|
|
2017-06-16 11:31:00 +02:00
|
|
|
package docs.actor
|
|
|
|
|
|
|
|
|
|
object TimerDocSpec {
|
|
|
|
|
//#timers
|
2017-11-17 09:07:37 +01:00
|
|
|
import scala.concurrent.duration._
|
|
|
|
|
|
|
|
|
|
import akka.actor.Actor
|
2017-06-16 11:31:00 +02:00
|
|
|
import akka.actor.Timers
|
|
|
|
|
|
|
|
|
|
object MyActor {
|
|
|
|
|
private case object TickKey
|
|
|
|
|
private case object FirstTick
|
|
|
|
|
private case object Tick
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
class MyActor extends Actor with Timers {
|
|
|
|
|
import MyActor._
|
|
|
|
|
timers.startSingleTimer(TickKey, FirstTick, 500.millis)
|
|
|
|
|
|
|
|
|
|
def receive = {
|
2019-02-09 15:25:39 +01:00
|
|
|
case FirstTick =>
|
2017-06-16 11:31:00 +02:00
|
|
|
// do something useful here
|
2019-05-27 11:53:26 +02:00
|
|
|
timers.startTimerWithFixedDelay(TickKey, Tick, 1.second)
|
2019-02-09 15:25:39 +01:00
|
|
|
case Tick =>
|
2017-06-16 11:31:00 +02:00
|
|
|
// do something useful here
|
|
|
|
|
}
|
|
|
|
|
}
|
|
|
|
|
//#timers
|
|
|
|
|
}
|