Esempio n. 1
0
def command_start(args):
    procfile_path = _procfile_path(args.app_root, args.procfile)
    procfile = _procfile(procfile_path)

    port = int(os.environ.get('PORT', args.port))
    concurrency = _parse_concurrency(args.concurrency)
    env = _read_env(procfile_path, args.env)
    quiet = _parse_quiet(args.quiet)

    if args.processes:
        processes = compat.OrderedDict()
        for name in args.processes:
            try:
                processes[name] = procfile.processes[name]
            except KeyError:
                raise CommandError(
                    "Process type '{0}' does not exist in Procfile".format(
                        name))
    else:
        processes = procfile.processes

    manager = Manager()

    for p in environ.expand_processes(processes,
                                      concurrency=concurrency,
                                      env=env,
                                      quiet=quiet,
                                      port=port):
        e = os.environ.copy()
        e.update(p.env)
        manager.add_process(p.name, p.cmd, quiet=p.quiet, env=e)

    manager.loop()
    sys.exit(manager.returncode)
Esempio n. 2
0
def command_export(args):
    if args.log == "/var/log/APP":
        args.log = args.log.replace('APP', args.app)

    procfile_path = _procfile_path(args.app_root, args.procfile)
    procfile = _procfile(procfile_path)
    env = _read_env(procfile_path, args.env)
    concurrency = _parse_concurrency(args.concurrency)

    processes = environ.expand_processes(procfile.processes,
                                         concurrency=concurrency,
                                         env=env,
                                         port=args.port)

    export_ctor = export_choices[args.format].load()
    export = export_ctor()

    context = {
        'app': args.app,
        'app_root': os.path.abspath(args.app_root),
        'log': args.log,
        'shell': args.shell,
        'user': args.user or args.app,
    }

    _mkdir(args.location)

    for filename, contents in export.render(processes, context):
        path = os.path.join(args.location, filename)
        log.info("Writing '%s'", path)
        _write_file(path, contents)
Esempio n. 3
0
def command_export(args):
    if args.log == "/var/log/APP":
        args.log = args.log.replace('APP', args.app)

    procfile_path = _procfile_path(args.app_root, args.procfile)
    procfile = _procfile(procfile_path)
    env = _read_env(procfile_path, args.env)
    concurrency = _parse_concurrency(args.concurrency)
    port = _choose_port(args, env)

    processes = environ.expand_processes(procfile.processes,
                                         concurrency=concurrency,
                                         env=env,
                                         port=port)

    export_ctor = export_choices[args.format].load()
    export = export_ctor(template_dir=args.template_dir)

    context = {
        'app': args.app,
        'app_root': os.path.abspath(args.app_root),
        'log': args.log,
        'shell': args.shell,
        'user': args.user or args.app,
    }

    _mkdir(args.location)

    for filename, contents in export.render(processes, context):
        path = os.path.join(args.location, filename)
        log.info("Writing '%s'", path)
        _write_file(path, contents)
Esempio n. 4
0
def command_start(args):
    procfile_path = _procfile_path(args.app_root, args.procfile)
    procfile = _procfile(procfile_path)

    port = int(os.environ.get('PORT', args.port))
    concurrency = _parse_concurrency(args.concurrency)
    env = _read_env(procfile_path, args.env)
    quiet = _parse_quiet(args.quiet)

    if args.processes:
        processes = compat.OrderedDict()
        for name in args.processes:
            try:
                processes[name] = procfile.processes[name]
            except KeyError:
                raise CommandError("Process type '{0}' does not exist in Procfile".format(name))
    else:
        processes = procfile.processes

    manager = Manager()

    for p in environ.expand_processes(processes,
                                      concurrency=concurrency,
                                      env=env,
                                      quiet=quiet,
                                      port=port):
        e = os.environ.copy()
        e.update(p.env)
        manager.add_process(p.name, p.cmd, quiet=p.quiet, env=e)

    manager.loop()
    sys.exit(manager.returncode)
Esempio n. 5
0
def command_export(args):
    if args.log == "/var/log/APP":
        args.log = args.log.replace("APP", args.app)

    procfile_path = _procfile_path(args.app_root, args.procfile)
    procfile = _procfile(procfile_path)
    env = _read_env(procfile_path, args.env)
    concurrency = _parse_concurrency(args.concurrency)
    port = _choose_port(args, env)

    processes = environ.expand_processes(procfile.processes, concurrency=concurrency, env=env, port=port)

    export_ctor = export_choices[args.format].load()
    export = export_ctor(template_dir=args.template_dir)

    context = {
        "app": args.app,
        "app_root": os.path.abspath(args.app_root),
        "log": args.log,
        "shell": args.shell,
        "user": args.user or args.app,
    }

    _mkdir(args.location)

    for f in export.render(processes, context):
        path = os.path.join(args.location, f.name)
        log.info("Writing '%s'", path)
        _write_file(path, f.content)
        if f.executable:
            os.chmod(path, 0o755)
Esempio n. 6
0
def command_start(args):
    procfile_path = _procfile_path(args.app_root, _choose_procfile(args))
    procfile = _procfile(procfile_path)

    concurrency = _parse_concurrency(args.concurrency)
    env = _read_env(args.app_root, args.env)
    quiet = _parse_quiet(args.quiet)
    port = _choose_port(args, env)

    if args.processes:
        processes = OrderedDict()
        for name in args.processes:
            try:
                processes[name] = procfile.processes[name]
            except KeyError:
                raise CommandError("Process type '{0}' does not exist in Procfile".format(name))
    else:
        processes = procfile.processes

    manager = Manager(Printer(sys.stdout,
                              colour=(not args.no_colour),
                              prefix=(not args.no_prefix)))

    for p in environ.expand_processes(processes,
                                      concurrency=concurrency,
                                      env=env,
                                      quiet=quiet,
                                      port=port):
        e = os.environ.copy()
        e.update(p.env)
        manager.add_process(p.name, p.cmd, quiet=p.quiet, env=e)

    manager.loop()
    sys.exit(manager.returncode)
Esempio n. 7
0
def ep(*args, **kwargs):
    return environ.expand_processes(compat.OrderedDict(args), **kwargs)
Esempio n. 8
0
def ep(*args, **kwargs):
    return environ.expand_processes(compat.OrderedDict(args), **kwargs)
Esempio n. 9
0
def ep(*args, **kwargs):
    return environ.expand_processes(collections.OrderedDict(args), **kwargs)