public static void StartJudge() { loop2: try { RunIDService.Update(RunID); List <Solution> solutions = SolutionService.SelectByIsJudged(RunID); solCount = (uint)solutions.Count(); if (solCount == 0) { goto loop2; } foreach (Solution solution in solutions) { ParaPair pp = new ParaPair(); pp.dlg = StartJudge; pp.slt = solution; ThreadPool.QueueUserWorkItem(Run, pp); } } catch (Exception e) { LogService.Insert(2, e); } }
public void StartJudge() { loop2: if (IsWork == false) { return; } try { RunIDService.Update(RunID); List <Solution> solutions = SolutionService.SelectByIsJudged(RunID); solCount = (uint)solutions.Count(); if (solCount == 0) { goto loop2; } foreach (Solution solution in solutions) { ParaPair pp = new ParaPair(); pp.dlg = StartJudge; pp.slt = solution; if (ojs[(int)solution.OJID - 1].IsWork) { ThreadPool.QueueUserWorkItem(Run, pp); } //Run(solution); } } catch (Exception e) { LogService.Insert(2, e); } }
static void Main(string[] args) { header = new HttpHeader(); MakeHttpHeader(); try { SqlHelper.OpenConnection(); Console.WriteLine("DataBase Connection Success"); } catch (Exception e) { Console.WriteLine("DataBase Connection seemed to be Failed"); } try { ojs = OJService.SelectAll(); foreach (OJ oj in ojs) { oj.Statuses = OJService.SelectStatusByOJ(oj.OJID); oj.Senders = SenderService.SelectByOJ(oj.OJID); oj.CookieContainers = new List <CookieContainer>(); foreach (Sender sender in oj.Senders) { CookieContainer cookieContainer = HttpHelper.GetCooKie(oj.UrlLogin, oj.UrlLoginPart1 + sender.Username + oj.UrlLoginPart2 + sender.Password, header); if (cookieContainer != null) { oj.CookieContainers.Add(cookieContainer); } } oj.QSenders = new Queue <int>(); for (int i = 0; i < oj.Senders.Count; ++i) { oj.QSenders.Enqueue(i); } Console.WriteLine(oj.OJName + " Succeed to Get Cookie"); } RunID = RunIDService.Select(); Console.WriteLine("Judge Start"); StartJudge(); } catch (Exception e) { LogService.Insert(2, e); Console.WriteLine("Fail to Get Cookie"); } Console.ReadKey(); }
private void start_Click(object sender, RoutedEventArgs e) { start.IsEnabled = false; stop.IsEnabled = true; IsWork = true; try { ojs = OJService.SelectAll(); foreach (OJ oj in ojs) { if ((oj.IsWork = GetCookie(oj)) == false) { UpdateStatus(oj.OJName + "Connection seemed to be Failed"); } } RunID = RunIDService.Select(); } catch (Exception ee) { LogService.Insert(2, ee); start.IsEnabled = false; } StartJudge(); }