public static RunningResults Run(CommandRunnerSubmission submission, DockerSandboxRunnerSettings settings, string submissionDirectory)
        {
            log.Info($"Запускаю проверку решения {submission.Id}");
            var dir = new DirectoryInfo(submissionDirectory);

            try
            {
                Utils.UnpackZip(submission.ZipFileData, dir.FullName);
            }
            catch (Exception ex)
            {
                log.Error("Не могу распаковать решение", ex);
                return(new RunningResults(submission.Id, Verdict.SandboxError, error: ex.ToString()));
            }

            log.Info($"Запускаю Docker для решения {submission.Id} в папке {dir.FullName}");

            return(RunDocker(settings, dir));
        }
        public static RunningResults Run(CommandRunnerSubmission submission, DockerSandboxRunnerSettings settings, string submissionDirectory)
        {
            log.Info($"Запускаю проверку решения {submission.Id}");
            var dir = new DirectoryInfo(submissionDirectory);

            try
            {
                ZipHelper.UnpackZip(submission.ZipFileData, dir.FullName);
            }
            catch (Exception ex)
            {
                var message = "Не могу распаковать решение";
                log.Error(ex, message);
                return(new RunningResults(submission.Id, Verdict.SandboxError)
                {
                    Logs = new[] { message }
                });
            }

            log.Info($"Запускаю Docker для решения {submission.Id} в папке {dir.FullName}");

            return(RunDocker(settings, dir));
        }
 private DockerSandboxRunnerSettings GetSpecificSettings(CommandRunnerSubmission submission)
 {
     return(new DockerSandboxRunnerSettings(submission.DockerImageName, submission.RunCommand));
 }