0
특정 간격으로 배우에게 메시지를 보내야합니다.Akka 스케줄러가 완료되지 않았습니다.
readLine()
바로 뒤에 넣어 :val sendSchedule = system.scheduler.schedule(0 milliseconds, 5 minutes, senderActor, doSomething()) readLine()
object SendToActor extends App { import Sender._ val system: ActorSystem = ActorSystem("sender") try { val senderActor: ActorRef = system.actorOf(Sender.props, "sendActor") val sendSchedule = system.scheduler.schedule(0 milliseconds, 5 minutes, senderActor, doSomething()) } finally { system.terminate() } }
불행하게도, 스케줄러 내가 다음 중 하나를 수행하지 않으면 실행하지 않는 것 : 나는 다음과 같은 코드를 사용하고
그 후
Thread.sleep()
바로 넣어 :val sendSchedule = system.scheduler.schedule(0 milliseconds, 5 minutes, senderActor, doSomething()) Thread.sleep(10000)
을
스케줄러가 위에 코딩 된대로 실행되지 않는 이유가 있습니까? 일을하기 위해서 수면을 필요로하는 이유는 무엇입니까?
의미가 있습니다. system.terminate()를 제거하면 프로세스가 표시됩니다. 그러나 예약 된 작업이 완료 될 때까지 try 블록을 활성화하지 않아야합니까?. 감사합니다. –
No @ F.Lun,'system.scheduler.schedule'은 즉시 반환되고 호출자를 차단하지 않습니다. – mingchuno