def make_parser(parser): parser.add_argument( "-r", "--restart", action="store_true", help="Restart of running processes", ) parser.add_argument( "group", choices=all_groups(), type=str, nargs="+", ) parser.set_defaults(function=start)
def make_parser(parser): parser.add_argument( "-d", "--daemon", action="store_true", help="Stop daemon", ) parser.add_argument( "group", choices=all_groups(), type=str, nargs="+", default=None, ) parser.set_defaults(function=stop)
import click from src.util.service_groups import all_groups @click.command("start", short_help="Start service groups") @click.option("-r", "--restart", is_flag=True, type=bool, help="Restart running services") @click.argument("group", type=click.Choice(all_groups()), nargs=-1, required=True) @click.pass_context def start_cmd(ctx: click.Context, restart: bool, group: str) -> None: import asyncio from .start_funcs import async_start asyncio.get_event_loop().run_until_complete( async_start(ctx.obj["root_path"], group, restart))
if stop_daemon: r = await daemon.exit() await daemon.close() print(f"daemon: {r}") return 0 return_val = 0 for service in services_for_groups(group): print(f"{service}: ", end="", flush=True) if not await daemon.is_running(service_name=service): print("Not running") elif await daemon.stop_service(service_name=service): print("Stopped") else: print("Stop failed") return_val = 1 await daemon.close() return return_val @click.command("stop", short_help="Stop services") @click.option("-d", "--daemon", is_flag=True, type=bool, help="Stop daemon") @click.argument("group", type=click.Choice(all_groups()), nargs=-1, required=True) @click.pass_context def stop_cmd(ctx: click.Context, daemon: bool, group: str) -> None: import asyncio sys.exit(asyncio.get_event_loop().run_until_complete(async_stop(ctx.obj["root_path"], group, daemon)))