Exemple #1
0
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)
Exemple #2
0
 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()
Exemple #3
0
 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()
Exemple #4
0
    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')
Exemple #5
0
    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')
Exemple #6
0
    def setUp(self):
        call_command('loaddata', self.fixtures[0], verbosity=0)

        self.beat = Beat(None, 10, True)
        self.beat.register_job(Adder)