コード例 #1
0
ファイル: faketime.py プロジェクト: unicefuganda/edtrac
 def test_days_of_week(self):
     """ fire event monday, friday, and sunday, at 8:15 am and 5:15 pm
     Note: days of week are indexed starting '0' 
     """
     schedule = EventSchedule(callback="foo", days_of_week=set([0,4,6]),
                              hours=set([8,17]), \
                              minutes=set([15]))
     self.assertFalse(schedule.should_fire(start))
     self.assertFalse(schedule.should_fire(start + 5 * day))
     self.assertFalse(schedule.should_fire(start + 7 * day))
     self.assertFalse(schedule.should_fire(start + 3 * hour))
     self.assertFalse(schedule.should_fire(start + 5 * day + 7 * hour))
     self.assertFalse(schedule.should_fire(start + 7 * day + 16 * hour))
     self.assertFalse(schedule.should_fire(start + 8 * hour + 13 * min))
     self.assertFalse(
         schedule.should_fire(start + 5 * day + 8 * hour + 16 * min))
     self.assertFalse(
         schedule.should_fire(start + 7 * day + 8 * hour + 25 * min))
     self.assertFalse(
         schedule.should_fire(start + 3 * day + 8 * hour + 15 * min))
     self.assertFalse(
         schedule.should_fire(start + 5 * day + 17 * hour + 15 * min))
     self.assertTrue(schedule.should_fire(start + 8 * hour + 15 * min))
     self.assertTrue(schedule.should_fire(start + 17 * hour + 15 * min))
     self.assertTrue(
         schedule.should_fire(start + 4 * day + 8 * hour + 15 * min))
     self.assertTrue(
         schedule.should_fire(start + 6 * day + 17 * hour + 15 * min))
コード例 #2
0
ファイル: faketime.py プロジェクト: unicefuganda/edtrac
 def test_hours(self):
     schedule = EventSchedule(callback="foo", hours=set([3,5,23]), \
                              minutes='*')
     self.assertFalse(schedule.should_fire(start))
     self.assertTrue(schedule.should_fire(start + 3 * hour))
     self.assertFalse(schedule.should_fire(start + 4 * hour))
     self.assertTrue(schedule.should_fire(start + 5 * hour))
     self.assertFalse(schedule.should_fire(start + 6 * hour))
     self.assertTrue(schedule.should_fire(start + 23 * hour))
コード例 #3
0
ファイル: slow.py プロジェクト: unicefuganda/edtrac
 def test_one_shot(self):
     """ Test scheduler in real time"""
     global callback_counter
     self.router.start()
     schedule = EventSchedule(callback="scheduler.tests.slow.callback_func", 
                              minutes=ALL, callback_args=([3]))
     schedule.save()
     time.sleep(180.0)
     self.assertEquals(callback_counter,9)
     self.router.stop()
コード例 #4
0
ファイル: schedule.py プロジェクト: dslowikowski/logistics
 def test_all(self):
     schedule = EventSchedule(callback="foo", \
                              minutes=ALL)
     self.assertTrue(schedule.should_fire(start))
     self.assertTrue(schedule.should_fire(start + sec))
     self.assertTrue(schedule.should_fire(start + min))
     self.assertTrue(schedule.should_fire(start + hour))
     self.assertTrue(schedule.should_fire(start + day))
     self.assertTrue(schedule.should_fire(start + week))
     self.assertTrue(
         schedule.should_fire(start + sec + min + hour + day + week))
コード例 #5
0
ファイル: faketime.py プロジェクト: unicefuganda/edtrac
 def test_minutes(self):
     schedule = EventSchedule(callback="foo", \
                              minutes=set([1,3,5]),
                              count=1)
     self.assertFalse(schedule.should_fire(start))
     self.assertFalse(schedule.should_fire(start + sec))
     self.assertTrue(schedule.should_fire(start + 1 * min))
     self.assertFalse(schedule.should_fire(start + 2 * min))
     self.assertTrue(schedule.should_fire(start + 3 * min))
     self.assertFalse(schedule.should_fire(start + 4 * min))
     self.assertTrue(schedule.should_fire(start + 5 * min))
     self.assertFalse(schedule.should_fire(start + hour))
     self.assertFalse(schedule.should_fire(start + day))
     self.assertFalse(schedule.should_fire(start + week))
コード例 #6
0
 def test_recurring(self):
     """ Test regular recurring schedules """
     global callback_counter
     self.router.start()
     self.router.get_app('scheduler').schedule_thread._debug_speedup(
         minutes=1)
     schedule = EventSchedule(
         callback="scheduler.tests.speedup.callback_func",
         minutes=ALL,
         callback_args=([3]))
     schedule.save()
     time.sleep(2.9)
     self.assertEquals(callback_counter, 9)
     self.router.stop()
コード例 #7
0
 def test_timestart_timestop(self):
     """ Test timebound schedules """
     global callback_counter
     self.router.start()
     self.router.get_app('scheduler').schedule_thread._debug_speedup(
         minutes=1)
     start_time = datetime.now() + timedelta(minutes=2)
     end_time = datetime.now() + timedelta(minutes=4)
     schedule = EventSchedule(callback="scheduler.tests.speedup.callback_func",
                              minutes=ALL, callback_args=([3]), \
                              start_time = start_time, end_time = end_time)
     schedule.save()
     time.sleep(7.0)
     self.assertEquals(callback_counter, 6)
     self.router.stop()
コード例 #8
0
 def test_one_shot(self):
     """ Basically test 'count'"""
     global callback_counter
     self.router.start()
     # speedup the scheduler so that 1 second == 1 minute
     self.router.get_app('scheduler').schedule_thread._debug_speedup(
         minutes=1)
     schedule = EventSchedule(
         callback="scheduler.tests.speedup.callback_func",
         minutes=ALL,
         callback_args=([3]),
         count=1)
     schedule.save()
     time.sleep(3.0)
     self.assertEquals(callback_counter, 3)
     self.router.stop()
コード例 #9
0
ファイル: faketime.py プロジェクト: unicefuganda/edtrac
 def test_days_of_month(self):
     """ Fire event on the 1st, 15th, and 30th of the month at 10:00 am
     Note: days of month are indexed starting '1' 
     """
     schedule = EventSchedule(callback="foo", days_of_month=set([1,15,30]),
                              hours=set([10]), \
                              minutes=set([0]))
     self.assertFalse(schedule.should_fire(start))
     self.assertTrue(schedule.should_fire(start + 10 * hour))
     self.assertFalse(schedule.should_fire(start + 10 * hour + min))
     self.assertFalse(schedule.should_fire(start + 10 * min))
     self.assertFalse(schedule.should_fire(start + day + 10 * hour))
     self.assertTrue(schedule.should_fire(start + 14 * day + 10 * hour))
     self.assertFalse(schedule.should_fire(start + 14 * day + 9 * hour))
     self.assertFalse(schedule.should_fire(start + 14 * day + 11 * hour))
     self.assertFalse(schedule.should_fire(start + 13 * day + 10 * hour))
     self.assertFalse(schedule.should_fire(start + 15 * day + 10 * hour))
     self.assertTrue(schedule.should_fire(start + 29 * day + 10 * hour))
     self.assertFalse(schedule.should_fire(start + 29 * day + 1 * min))
     self.assertFalse(schedule.should_fire(start + 29 * day - 1 * min))
     self.assertFalse(schedule.should_fire(start + 28 * day + 10 * hour))
コード例 #10
0
ファイル: faketime.py プロジェクト: unicefuganda/edtrac
 def test_month(self):
     """ Fire event every minute in February
     Note: months are indexed from '1' 
     """
     schedule = EventSchedule(callback="foo", months=set([2]), \
                              days_of_month='*',
                              hours='*', \
                              minutes='*')
     self.assertFalse(schedule.should_fire(start))
     self.assertTrue(schedule.should_fire(start + month))
     self.assertTrue(schedule.should_fire(start + month + sec))
     self.assertTrue(schedule.should_fire(start + month + min))
     self.assertTrue(schedule.should_fire(start + month + hour))
     self.assertTrue(schedule.should_fire(start + month + day))
     self.assertTrue(
         schedule.should_fire(start + month + sec + min + hour + day))
     self.assertFalse(schedule.should_fire(start + 2 * month))
     self.assertFalse(schedule.should_fire(start + 2 * month + sec))
     self.assertFalse(schedule.should_fire(start + 2 * month + min))
     self.assertFalse(schedule.should_fire(start + 2 * month + hour))
     self.assertFalse(schedule.should_fire(start + 2 * month + day))