def run_action()

in dora/run.py [0:0]


def run_action(args, main: DecoratedMain):
    xp = main.get_xp(args.argv)
    with ExitStack() as stack:
        if args.git_save and '_DORA_GIT_SAVE_DONE' not in os.environ:
            os.environ['_DORA_GIT_SAVE_DONE'] = '1'
            clone = git_save.get_new_clone(main.dora)
            git_save.assign_clone(xp, clone)
            stack.enter_context(git_save.enter_clone(clone))
            os.execv(sys.executable, [sys.executable, "-m", "dora"] + sys.argv[1:])
        if args.ddp and not os.environ.get('RANK'):
            check_job_and_clear(args.argv, main, args.clear)
            start_ddp_workers(args.package, main, args.argv)
        else:
            if 'WORLD_SIZE' not in os.environ:
                check_job_and_clear(args.argv, main, args.clear)
                os.environ['RANK'] = '0'
                os.environ['WORLD_SIZE'] = '1'
            sys.argv[1:] = args.argv
            disable_logging()  # disable logging to avoid messing up with the wrapped project.
            main()