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
 }