Merge pull request #410 from djmitche/return-messages-sooner
Return messages once they are gathered
This commit is contained in:
commit
d88dba1bcf
@ -281,7 +281,7 @@ class SQSBackend(BaseBackend):
|
||||
if len(result) >= count:
|
||||
break
|
||||
|
||||
if time.time() > polling_end:
|
||||
if result or time.time() > polling_end:
|
||||
break
|
||||
|
||||
return result
|
||||
|
@ -53,10 +53,14 @@ def test_messages_polling():
|
||||
time.sleep(.5)
|
||||
|
||||
def get_messages():
|
||||
msg_res = test_client.get(
|
||||
'/123/testqueue?Action=ReceiveMessage&MaxNumberOfMessages=1&WaitTimeSeconds=5'
|
||||
)
|
||||
[messages.append(m) for m in re.findall("<Body>(.*?)</Body>", msg_res.data.decode('utf-8'))]
|
||||
count = 0
|
||||
while count < 5:
|
||||
msg_res = test_client.get(
|
||||
'/123/testqueue?Action=ReceiveMessage&MaxNumberOfMessages=1&WaitTimeSeconds=5'
|
||||
)
|
||||
new_msgs = re.findall("<Body>(.*?)</Body>", msg_res.data.decode('utf-8'))
|
||||
count += len(new_msgs)
|
||||
messages.append(new_msgs)
|
||||
|
||||
get_messages_thread = threading.Thread(target=get_messages)
|
||||
insert_messages_thread = threading.Thread(target=insert_messages)
|
||||
@ -67,4 +71,5 @@ def test_messages_polling():
|
||||
get_messages_thread.join()
|
||||
insert_messages_thread.join()
|
||||
|
||||
# got each message in a separate call to ReceiveMessage, despite the long WaitTimeSeconds
|
||||
assert len(messages) == 5
|
||||
|
Loading…
Reference in New Issue
Block a user