Beispiel #1
0
def ok() -> None:
    import pathlib
    from egoist.generators.filekit import runtime
    from egoist.internal.netutil import find_free_port
    from discovery import get_discovery
    import util

    sentinel = util.create_sentinel_file()
    server_py = pathlib.Path(__file__).absolute().with_name("server.py")
    port = find_free_port()

    get_discovery().register("HELLO", url=f"http://127.0.0.1:{port}")

    argv = [
        sys.executable,
        server_py,
        "--port",
        str(port),
        "--host",
        "127.0.0.1",
        "--sentinel",
        sentinel,
    ]

    with util.ConnectedProcess().spawn(argv, sentinel=sentinel):
        import requests

        url = get_discovery().lookup("HELLO")
        res = requests.get(url)
        res.raise_for_status()

        with runtime.create_file() as wf:
            print(res.json(), file=wf)
Beispiel #2
0
    def _register():
        from discovery import get_discovery

        port = None

        if app.registry.dry_run:
            logger.info("dry run, %s skipped", NAME)
            get_discovery().register("gofmtrpc",
                                     url=f"http://127.0.0.1:{port}")
            return

        from egoist.internal.netutil import find_free_port
        from util import spawn_with_connection

        port = find_free_port()
        get_discovery().register("gofmtrpc", url=f"http://127.0.0.1:{port}")

        argv = ["gofmtrpc", "-addr", f":{port}"]
        p, _ = spawn_with_connection(argv, sentinel_option="-sentinel")

        import atexit

        def _shutdown():
            logger.info("terminate gofmtrpc")
            with p:
                p.terminate()

        atexit.register(_shutdown)
Beispiel #3
0
def ok() -> None:
    import pathlib
    from egoist.generators.filekit import runtime
    from egoist.internal.netutil import find_free_port
    import util

    sentinel = util.create_sentinel_file()
    server_py = pathlib.Path(__file__).absolute().with_name("server.py")
    port = find_free_port()
    argv = [
        sys.executable,
        server_py,
        "--port",
        str(port),
        "--host",
        "127.0.0.1",
        "--sentinel",
        sentinel,
    ]

    p = util.create_service_process(argv=argv, sentinel=sentinel)
    with p:
        import requests

        res = requests.get(f"http://localhost:{port}")
        res.raise_for_status()
        p.terminate()  # need

        with runtime.create_file() as wf:
            print(res.json(), file=wf)
Beispiel #4
0
    def _register():
        import shutil
        from egoist.internal.netutil import find_free_port
        from discovery import get_discovery
        import util

        sentinel = util.create_sentinel_file()
        port = find_free_port()

        get_discovery().register("gofmtrpc", url=f"http://127.0.0.1:{port}")

        assert shutil.which("gofmtrpc")
        argv = [
            "gofmtrpc",
            "-addr",
            f":{port}",
            "-sentinel",
            sentinel,
        ]
        p = util.ConnectedProcess().spawn(argv, sentinel=sentinel)
        import atexit

        def _shutdown():
            logger.info("terminate gofmtrpc")
            with p:
                p.terminate()

        atexit.register(_shutdown)
Beispiel #5
0
    def _register():
        import sys
        import pathlib
        from egoist.internal.netutil import find_free_port
        from discovery import get_discovery
        import util

        sentinel = util.create_sentinel_file()
        server_py = pathlib.Path(__file__).absolute().with_name("server.py")
        port = find_free_port()

        get_discovery().register("HELLO", url=f"http://127.0.0.1:{port}")

        argv = [
            sys.executable,
            server_py,
            "--port",
            str(port),
            "--host",
            "127.0.0.1",
            "--sentinel",
            sentinel,
        ]

        p = util.ConnectedProcess().spawn(argv, sentinel=sentinel)
        import atexit

        def _shutdown():
            logger.info("terminate HELLO")
            with p:
                p.terminate()

        atexit.register(_shutdown)