Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- class ServiceDiscoveryAgent(source: ServiceDiscoverySource[ServiceUpdate], callback: (List[ServiceUpdate]) => Any)(implicit mat: Materializer) extends Actor {
- import ServiceDiscoveryAgent._
- implicit val system: ActorSystem = context.system
- implicit val ec: ExecutionContext = context.dispatcher
- val SERVICE_POLLING_INTERVAL = 10 seconds
- val INITIAL_DELAY = 5 seconds
- override def receive: Receive = {
- case WatchServices =>
- system.scheduler.schedule(SERVICE_POLLING_INTERVAL, INITIAL_DELAY) {
- source.listServices.map(callback)
- }
- }
- }
- object ServiceDiscoveryAgent {
- case object WatchServices
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement