1414
1515class Scheduler (Generic [T ]):
1616
17- def stop (self ) -> None :
17+ def schedule (self , data : T | None = None , interval : float = 60 , one_shot : bool = False ) -> None :
1818 raise NotImplementedError ()
1919
20- def schedule (self , data : T | None = None , interval : float = 60 , one_shot : bool = False ) -> None :
20+ def stop (self ) -> None :
2121 raise NotImplementedError ()
2222
2323
24- class DefaultScheduler (Scheduler [T ]):
24+ class AbstractScheduler (Scheduler [T ]):
2525
2626 def __init__ (self , timer : IReusableTimer ) -> None :
2727 self ._timer = timer
@@ -32,9 +32,6 @@ def __enter__(self) -> Scheduler[T]:
3232 def __exit__ (self , exc_type : Any , exc_val : Any , exc_tb : Any ) -> None :
3333 self .stop ()
3434
35- def stop (self ) -> None :
36- self ._timer .cancel ()
37-
3835 def schedule (self , data : T | None = None , interval : float = 60 , one_shot : bool = False ) -> None :
3936 if one_shot :
4037 self ._timer .start (interval , self ._execute , [data ])
@@ -43,6 +40,9 @@ def schedule(self, data: T | None = None, interval: float = 60, one_shot: bool =
4340 self ._timer .start (interval , self ._execute_and_restart , [data ])
4441 log .info ('Periodic execution scheduled' , data = data , interval = interval )
4542
43+ def stop (self ) -> None :
44+ self ._timer .cancel ()
45+
4646 def _execute (self , data : T | None = None ) -> None :
4747 raise NotImplementedError ()
4848
0 commit comments