There are two type of supervision strategies that we follow to supervise any actor:
One-For-One Strategy
One-For-All Strategy
case object ResumeException extends Exception
case object StopException extends Exception
case object RestartException extends Exception
override val supervisorStrategy =
OneForOneStrategy(maxNrOfRetries = 10, withinTimeRange = 1 second){
case ResumeException => Resume
case RestartException => Restart
case StopException => Stop
case _: Exception => Escalate
}