Coverage for frappe_manager / commands / services / restart.py: 47%

19 statements  

« prev     ^ index     » next       coverage.py v7.13.5, created at 2026-07-02 18:13 +0530

1from typing import Annotated 

2 

3import typer 

4from typer_examples import example 

5 

6from frappe_manager.output_manager import get_global_output_handler 

7from frappe_manager.services_manager import ServicesEnum 

8from frappe_manager.services_manager.services import ServicesManager 

9 

10 

11@example( 

12 "Restart global-db only", 

13 "global-db", 

14 detail="Restarts the global-db service only.", 

15) 

16@example( 

17 "Restart all global services", 

18 "all", 

19 detail="Restarts all managed global services.", 

20) 

21def restart_services( 

22 ctx: typer.Context, 

23 service_name: Annotated[ServicesEnum, typer.Argument(help="Name of the service.")], 

24): 

25 """Restarts global services.""" 

26 services_manager: ServicesManager = ctx.obj["services"] 

27 output = get_global_output_handler() 

28 

29 if service_name.value == ServicesEnum.all: 

30 for service in ServicesEnum: 

31 if service == ServicesEnum.all: 

32 continue 

33 

34 services_manager.restart_service(services=[service.value]) 

35 output.print(f"Restarted service {service.value}") 

36 else: 

37 services_manager.restart_service(services=[service_name.value]) 

38 output.print(f"Restarted service {service_name.value}")