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 void MainLoop(Client client) { while (true) { var newUnhandled = client.TryGetSubmissions(jobsToRequest).Result; Console.WriteLine("Received {0} submissions: [{1}]", newUnhandled.Count, string.Join(", ", newUnhandled.Select(s => s.Id))); if (newUnhandled.Any()) { var results = newUnhandled.Select(SandboxRunner.Run).ToList(); Console.WriteLine("Results: [{0}]", string.Join(", ", results.Select(r => r.Verdict))); client.SendResults(results); } Thread.Sleep(sleep); } // ReSharper disable once FunctionNeverReturns }
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); } }