class DjangoTestCase(TestCase): fixtures = ['sqjobs/tests/djsqjobs_tests-fixture.json'] def setUp(self): call_command('loaddata', self.fixtures[0], verbosity=0) self.beat = Beat(None, 10, True) self.beat.register_job(Adder)
def _execute_beat(self, sleep_interval, skip_jobs=True): broker = None if getattr(settings, 'SQJOBS_EAGER', False): broker = create_eager_broker() else: broker = create_sqs_broker( access_key=settings.SQJOBS_SQS_ACCESS_KEY, secret_key=settings.SQJOBS_SQS_SECRET_KEY, region=settings.SQJOBS_SQS_REGION, is_secure=getattr(settings, 'SQJOBS_SQS_IS_SECURE', True), port=getattr(settings, 'SQJOBS_SQS_CONNECTION_PORT', 443), ) beat = Beat(broker, int(sleep_interval), skip_jobs) register_all_jobs(beat) beat.run_forever()
def _execute_beat(self, sleep_interval, skip_jobs=True): broker = None if getattr(settings, "SQJOBS_EAGER", False): broker = create_eager_broker() else: broker = create_sqs_broker( access_key=settings.SQJOBS_SQS_ACCESS_KEY, secret_key=settings.SQJOBS_SQS_SECRET_KEY, region=settings.SQJOBS_SQS_REGION, is_secure=getattr(settings, "SQJOBS_SQS_IS_SECURE", True), port=getattr(settings, "SQJOBS_SQS_CONNECTION_PORT", 443), ) beat = Beat(broker, int(sleep_interval), skip_jobs) register_all_jobs(beat) beat.run_forever()
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')
def setUp(self): call_command('loaddata', self.fixtures[0], verbosity=0) self.beat = Beat(None, 10, True) self.beat.register_job(Adder)