diff --git a/django_q/brokers/aws_sqs.py b/django_q/brokers/aws_sqs.py index 93bc16e..1caa13a 100644 --- a/django_q/brokers/aws_sqs.py +++ b/django_q/brokers/aws_sqs.py @@ -16,6 +16,9 @@ class Sqs(Broker): return m.id def dequeue(self): + # sqs supports max 10 messages in bulk + if Conf.BULK > 10: + Conf.BULK = 10 t = None if len(self.task_cache) > 0: t = self.task_cache.pop() diff --git a/django_q/tests/test_brokers.py b/django_q/tests/test_brokers.py index 97c6e86..9e0b4b0 100644 --- a/django_q/tests/test_brokers.py +++ b/django_q/tests/test_brokers.py @@ -187,10 +187,10 @@ def test_sqs(): task_id = broker.dequeue()[0] broker.fail(task_id) # bulk test - for i in range(5): + for i in range(10): broker.enqueue('test') - Conf.BULK = 5 - for i in range(5): + Conf.BULK = 12 + for i in range(10): task = broker.dequeue() assert task is not None broker.acknowledge(task[0]) @@ -202,4 +202,5 @@ def test_sqs(): broker.delete_queue() # back to django-redis Conf.SQS = None + Conf.BULK = 1 Conf.DJANGO_REDIS = 'default'