Example #1
0
        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);
            }
        }
Example #3
0
        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();
 }