diff env/lib/python3.7/site-packages/planemo/galaxy/serve.py @ 5:9b1c78e6ba9c draft default tip

"planemo upload commit 6c0a8142489327ece472c84e558c47da711a9142"
author shellac
date Mon, 01 Jun 2020 08:59:25 -0400
parents 79f47841a781
children
line wrap: on
line diff
--- a/env/lib/python3.7/site-packages/planemo/galaxy/serve.py	Thu May 14 16:47:39 2020 -0400
+++ /dev/null	Thu Jan 01 00:00:00 1970 +0000
@@ -1,116 +0,0 @@
-"""Abstractions for serving out development Galaxy servers."""
-from __future__ import print_function
-
-import contextlib
-import os
-import time
-
-from planemo import (
-    io,
-    network_util
-)
-from .config import galaxy_config
-from .ephemeris_sleep import sleep
-from .run import (
-    run_galaxy_command,
-)
-
-
-def serve(ctx, runnables=[], **kwds):
-    """Serve a Galaxy instance with artifacts defined by paths."""
-    try:
-        return _serve(ctx, runnables, **kwds)
-    except Exception as e:
-        ctx.vlog("Problem serving Galaxy", exception=e)
-        raise
-
-
-def _serve(ctx, runnables, **kwds):
-    engine = kwds.get("engine", "galaxy")
-    if engine == "docker_galaxy":
-        kwds["dockerize"] = True
-
-    daemon = kwds.get("daemon", False)
-    if daemon:
-        kwds["no_cleanup"] = True
-
-    port = kwds.get("port", None)
-    if port is None:
-        port = network_util.get_free_port()
-        kwds["port"] = port
-
-    with galaxy_config(ctx, runnables, **kwds) as config:
-        cmd = config.startup_command(ctx, **kwds)
-        action = "Starting Galaxy"
-        exit_code = run_galaxy_command(
-            ctx,
-            cmd,
-            config.env,
-            action,
-        )
-        if exit_code:
-            message = "Problem running Galaxy command [%s]." % config.log_contents
-            io.warn(message)
-            raise Exception(message)
-        host = kwds.get("host", "127.0.0.1")
-
-        timeout = 500
-        galaxy_url = "http://%s:%s" % (host, port)
-        galaxy_alive = sleep(galaxy_url, verbose=ctx.verbose, timeout=timeout)
-        if not galaxy_alive:
-            raise Exception("Attempted to serve Galaxy at %s, but it failed to start in %d seconds." % (galaxy_url, timeout))
-        config.install_workflows()
-        if kwds.get("pid_file"):
-            real_pid_file = config.pid_file
-            if os.path.exists(config.pid_file):
-                os.symlink(real_pid_file, kwds["pid_file"])
-            else:
-                io.warn("Can't find Galaxy pid file [%s] to link" % real_pid_file)
-        return config
-
-
-@contextlib.contextmanager
-def shed_serve(ctx, install_args_list, **kwds):
-    """Serve a daemon instance of Galaxy with specified repositories installed."""
-    with serve_daemon(ctx, **kwds) as config:
-        install_deps = not kwds.get("skip_dependencies", False)
-        io.info("Installing repositories - this may take some time...")
-        for install_args in install_args_list:
-            install_args["install_tool_dependencies"] = install_deps
-            install_args["install_repository_dependencies"] = True
-            install_args["new_tool_panel_section_label"] = "Shed Installs"
-            config.install_repo(
-                **install_args
-            )
-        config.wait_for_all_installed()
-        yield config
-
-
-@contextlib.contextmanager
-def serve_daemon(ctx, runnables=[], **kwds):
-    """Serve a daemonized Galaxy instance with artifacts defined by paths."""
-    config = None
-    try:
-        kwds["daemon"] = True
-        config = serve(ctx, runnables, **kwds)
-        yield config
-    finally:
-        if config:
-            if ctx.verbose:
-                print("Galaxy Log:")
-                print(config.log_contents)
-            config.kill()
-            if not kwds.get("no_cleanup", False):
-                config.cleanup()
-
-
-def sleep_for_serve():
-    # This is bad, do something better...
-    time.sleep(1000000)
-
-
-__all__ = (
-    "serve",
-    "serve_daemon",
-    "shed_serve",
-)