示例#1
0
文件: op.py 项目: olliethomas/guildai
def stage(op):
    run = init_run(op)
    try:
        _stage_run_proc_env(op, run)
        _resolve_deps(op, run, for_stage=True)
        op_util.set_run_staged(run)
    finally:
        op_util.clear_run_pending(run)
    return run
示例#2
0
def _run(run, op, quiet, stop_after, extra_env):
    try:
        _resolve_deps(op, run)
    finally:
        op_util.clear_run_pending(run)
    op_util.set_run_started(run)
    op_util.clear_run_marker(run, "STAGED")
    proc = _op_start_proc(op, run, extra_env)
    exit_status = _op_wait_for_proc(op, proc, run, quiet, stop_after)
    _op_finalize_run_attrs(run, exit_status)
    return exit_status
示例#3
0
def stage(op, continue_on_deps_error=False):
    run = init_run(op)
    try:
        _stage_run_proc_env(op, run)
        _resolve_deps(op,
                      run,
                      for_stage=True,
                      continue_on_error=continue_on_deps_error)
        op_util.set_run_staged(run)
    finally:
        op_util.clear_run_pending(run)
    return run
示例#4
0
文件: op.py 项目: olliethomas/guildai
def run(op, quiet=False, pidfile=None, stop_after=None, extra_env=None):
    run = init_run(op)
    op_util.clear_run_marker(run, "STAGED")
    try:
        _resolve_deps(op, run)
    finally:
        op_util.clear_run_pending(run)
    op_util.set_run_started(run)
    if pidfile:
        _run_op_in_background(run, op, pidfile, quiet, stop_after, extra_env)
        return run, 0
    else:
        exit_status = _run_op(run, op, quiet, stop_after, extra_env)
        return run, exit_status
示例#5
0
文件: op.py 项目: jukiewiczm/guildai
def _start_in_background(run, op, pidfile, quiet, stop_after, extra_env):
    import daemonize
    action = lambda: _run(run, op, quiet, stop_after, extra_env)
    daemon = daemonize.Daemonize(app="guild_op", action=action, pid=pidfile)
    # Need to log before starting daemon, otherwise output isn't
    # visible.
    if not quiet:
        log.info("%s started in background as %s (pidfile %s)",
                 run.opref.to_opspec(config.cwd()), run.id, pidfile)
    try:
        daemon.start()
    except SystemExit:
        op_util.clear_run_pending(run)
        raise