Exemple #1
0
 def handle(self, *args, **options):
     while True:
         r = choose_for_recalculation()
         if r:
             recalculate(r)
         else:
             time.sleep(settings.RANKINGSD_POLLING_INTERVAL)
Exemple #2
0
 def handle(self, *args, **options):
     while True:
         r = choose_for_recalculation()
         if r:
             recalculate(r)
         else:
             time.sleep(settings.RANKINGSD_POLLING_INTERVAL)
Exemple #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])
Exemple #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])