예제 #1
0
파일: rankingsd.py 프로젝트: wczyz/oioioi
 def handle(self, *args, **options):
     while True:
         r = choose_for_recalculation()
         if r:
             recalculate(r)
         else:
             time.sleep(settings.RANKINGSD_POLLING_INTERVAL)
예제 #2
0
 def handle(self, *args, **options):
     while True:
         r = choose_for_recalculation()
         if r:
             recalculate(r)
         else:
             time.sleep(settings.RANKINGSD_POLLING_INTERVAL)
예제 #3
0
 def test_simple_flow(self):
     contest = Contest.objects.get()
     contest.controller_name = 'oioioi.rankings.tests.MockRankingContestController'
     contest.save()
     ranking, _ = Ranking.objects.get_or_create(contest=contest, key='key')
     ranking.save()
     self.assertFalse(ranking.is_up_to_date())
     recalc = choose_for_recalculation()
     self.assertIsNotNone(recalc)
     self.assertIsNotNone(recalc.id)
     ranking.refresh_from_db()
     self.assertFalse(ranking.is_up_to_date())
     recalculate(recalc)
     ranking.refresh_from_db()
     self.assertTrue(ranking.is_up_to_date())
     self.assertEqual(ranking.serialized, 'serialized')
     self.assertEqual([page.data for page in ranking.pages.all()],
                      ['1st', '2nd', '3rd'])
     self.assertEqual([page.nr for page in ranking.pages.all()], [1, 2, 3])
예제 #4
0
 def test_simple_flow(self):
     contest = Contest.objects.get()
     contest.controller_name = \
         'oioioi.rankings.tests.MockRankingContestController'
     contest.save()
     ranking, _ = Ranking.objects.get_or_create(contest=contest, key='key')
     ranking.save()
     self.assertFalse(ranking.is_up_to_date())
     recalc = choose_for_recalculation()
     self.assertIsNotNone(recalc)
     self.assertIsNotNone(recalc.id)
     ranking.refresh_from_db()
     self.assertFalse(ranking.is_up_to_date())
     recalculate(recalc)
     ranking.refresh_from_db()
     self.assertTrue(ranking.is_up_to_date())
     self.assertEqual(ranking.serialized, 'serialized')
     self.assertEqual([page.data for page in ranking.pages.all()],
                      ['1st', '2nd', '3rd'])
     self.assertEqual([page.nr for page in ranking.pages.all()],
                      [1, 2, 3])