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)); }