def test_enqueue_jobs_dont_skip(self): broker = Standard(None) with patch.object(Standard, 'add_job') as mock_add_job: beat = Beat(broker, 10, False) beat.register_job(Adder) beat.register_job(Divider) expired_job = PeriodicJob.objects.get(pk=2) future_job = PeriodicJob.objects.get(pk=4) future_next_execution = future_job.next_execution self.assertGreater( future_next_execution, datetime.now(pytz.timezone('UTC')) ) beat.enqueue_next_jobs(beat.get_expired_jobs()) expired_job = PeriodicJob.objects.get(pk=2) self.assertEqual( expired_job.next_execution.isoformat(), "2015-03-29T23:01:00+00:00" ) japanese_job = PeriodicJob.objects.get(pk=3) self.assertEqual( japanese_job.next_execution.isoformat(), "2015-07-26T16:10:00+00:00" ) future_job = PeriodicJob.objects.get(pk=4) self.assertEqual( future_job.next_execution, future_next_execution ) self.assertGreater( future_job.next_execution, datetime.now(pytz.timezone('UTC')) ) assert mock_add_job.called_with(num1=1, num2=2, sqjobs_programmed_date='2015-07-26T17:01:00+02:00')
def test_enqueue_jobs(self): broker = Standard(None) with patch.object(Standard, 'add_job') as mock_add_job: beat = Beat(broker, 10, True) beat.register_job(Adder) beat.register_job(Divider) expired_job = PeriodicJob.objects.get(pk=2) expired_next_execution = expired_job.next_execution expired_minute = expired_next_execution.minute expired_second = expired_next_execution.second future_job = PeriodicJob.objects.get(pk=4) future_next_execution = future_job.next_execution self.assertGreater(future_next_execution, datetime.now(pytz.timezone('UTC'))) beat.enqueue_next_jobs(beat.get_expired_jobs()) expired_job = PeriodicJob.objects.get(pk=2) self.assertEqual(expired_minute, expired_job.next_execution.minute) self.assertEqual(expired_second, expired_job.next_execution.second) self.assertGreater( expired_job.next_execution, expired_next_execution ) self.assertGreater( expired_job.next_execution, datetime.now(pytz.timezone('UTC')) ) future_job = PeriodicJob.objects.get(pk=4) self.assertEqual(future_job.next_execution, future_next_execution) self.assertGreater( future_job.next_execution, datetime.now(pytz.timezone('UTC')) ) assert mock_add_job.called_with(num1=1, num2=2, sqjobs_programmed_date='2015-07-26T17:01:00+02:00')