private void MainLoop(Client client) { while (!shutdownEvent.WaitOne(0)) { List <RunnerSubmission> newUnhandled; try { newUnhandled = client.TryGetSubmissions(jobsToRequest).Result; } catch (Exception e) { log.Error($"Не могу получить решения из ulearn. Следующая попытка через {sleep.TotalSeconds} секунд", e); Thread.Sleep(sleep); continue; } log.Info($"Получил {newUnhandled.Count} решение(й) со следующими ID: [{string.Join(", ", newUnhandled.Select(s => s.Id))}]"); if (newUnhandled.Any()) { var results = newUnhandled.Select(unhandled => SandboxRunner.Run(unhandled, Settings)).ToList(); log.Info($"Результаты проверки: [{string.Join(", ", results.Select(r => r.Verdict))}]"); try { client.SendResults(results); } catch (Exception e) { log.Error("Не могу отправить результаты проверки на ulearn", e); } } Thread.Sleep(sleep); } }
private static void SelfCheck() { var res = SandboxRunner.Run(new RunnerSubmition() { Id = Guid.NewGuid().ToString("N"), NeedRun = true, Code = "class C { static void Main(){ System.Console.WriteLine(\"Привет мир!\");}}" }); Console.WriteLine(res); }
private void SelfCheck() { var res = SandboxRunner.Run(new FileRunnerSubmission { Id = Utils.NewNormalizedGuid(), NeedRun = true, Code = "class C { static void Main(){ System.Console.WriteLine(\"Привет мир!\");}}" }, Settings); log.Info(res); }