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)
def ep(*args, **kwargs): return environ.expand_processes(compat.OrderedDict(args), **kwargs)