Skip to content

Commit 1750c25

Browse files
authored
[Service Bus] fix deadletter sample + update README (Azure#18261)
(potential) fix for deadletter_messages_and_correct.py sample timeout exceeded error (over 300 minutes). fixes: Azure#18207
1 parent 51c59ee commit 1750c25

File tree

3 files changed

+10
-8
lines changed

3 files changed

+10
-8
lines changed

sdk/servicebus/azure-servicebus/samples/README.md

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -85,6 +85,8 @@ Both [sync version](https://github.com/Azure/azure-sdk-for-python/tree/master/sd
8585
- List rule
8686
- Get rule properties
8787
- [failure_and_recovery.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-servicebus/samples/sync_samples/failure_and_recovery.py) - A demonstration of potential failure modes from an end-to-end send receive flow, as well as possible recovery patterns.
88+
- [deadletter_messages_and_correct.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-servicebus/samples/sync_samples/deadletter_messages_and_correct.py) ([async_version](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-servicebus/samples/async_samples/deadletter_messages_and_correct_async.py)) - Comprehensive example of moving messages to the dead-letter queue, retrieving messages from it, and resubmitting corrected messages back into main queue.
89+
- [topic_subscription_with_rule_operations.py](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-servicebus/samples/sync_samples/topic_subscription_with_rule_operations.py) ([async_version](https://github.com/Azure/azure-sdk-for-python/tree/master/sdk/servicebus/azure-servicebus/samples/async_samples/topic_subscription_with_rule_operations_async.py)) - Example to manage rules on topic subscriptions and to explore different forms of subscription filters.
8890

8991
## Prerequisites
9092
- Python 2.7, 3.6 or later.

sdk/servicebus/azure-servicebus/samples/async_samples/deadletter_messages_and_correct_async.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -50,7 +50,7 @@ async def exceed_max_delivery(servicebus_client):
5050
received_msgs = await receiver.receive_messages(max_wait_time=5)
5151

5252
async with dlq_receiver:
53-
received_msgs = await dlq_receiver.receive_messages(max_message_count=10)
53+
received_msgs = await dlq_receiver.receive_messages(max_message_count=10, max_wait_time=5)
5454
for msg in received_msgs:
5555
print("Deadletter message:")
5656
print(msg)
@@ -59,7 +59,7 @@ async def exceed_max_delivery(servicebus_client):
5959
async def receive_messages(servicebus_client):
6060
receiver = servicebus_client.get_queue_receiver(queue_name=QUEUE_NAME)
6161
async with receiver:
62-
received_msgs = await receiver.receive_messages(max_message_count=10)
62+
received_msgs = await receiver.receive_messages(max_message_count=10, max_wait_time=5)
6363
for msg in received_msgs:
6464
if msg.subject and msg.subject == "Good":
6565
await receiver.complete_message(msg)
@@ -77,7 +77,7 @@ async def fix_deadletters(servicebus_client):
7777
sub_queue=ServiceBusSubQueue.DEAD_LETTER)
7878
msgs_to_send = []
7979
async with dlq_receiver:
80-
received_dlq_msgs = await dlq_receiver.receive_messages(max_message_count=10)
80+
received_dlq_msgs = await dlq_receiver.receive_messages(max_message_count=10, max_wait_time=5)
8181
for msg in received_dlq_msgs:
8282
if msg.subject and msg.subject == "Bad":
8383
msg_copy = ServiceBusMessage(str(msg), subject="Good")
@@ -88,7 +88,7 @@ async def fix_deadletters(servicebus_client):
8888
print("Resending fixed messages")
8989
await sender.send_messages(msgs_to_send)
9090
async with receiver:
91-
received_msgs = await receiver.receive_messages(max_message_count=10)
91+
received_msgs = await receiver.receive_messages(max_message_count=10, max_wait_time=5)
9292
for msg in received_msgs:
9393
if msg.subject and msg.subject == "Good":
9494
print("Received fixed message: Body={}, Subject={}".format(next(msg.body), msg.subject))

sdk/servicebus/azure-servicebus/samples/sync_samples/deadletter_messages_and_correct.py

Lines changed: 4 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -48,7 +48,7 @@ def exceed_max_delivery(servicebus_client):
4848
received_msgs = receiver.receive_messages(max_wait_time=5)
4949

5050
with dlq_receiver:
51-
received_msgs = dlq_receiver.receive_messages(max_message_count=10)
51+
received_msgs = dlq_receiver.receive_messages(max_message_count=10, max_wait_time=5)
5252
for msg in received_msgs:
5353
print("Deadletter message:")
5454
print(msg)
@@ -57,7 +57,7 @@ def exceed_max_delivery(servicebus_client):
5757
def receive_messages(servicebus_client):
5858
receiver = servicebus_client.get_queue_receiver(queue_name=QUEUE_NAME)
5959
with receiver:
60-
received_msgs = receiver.receive_messages(max_message_count=10)
60+
received_msgs = receiver.receive_messages(max_message_count=10, max_wait_time=5)
6161
for msg in received_msgs:
6262
if msg.subject and msg.subject == "Good":
6363
receiver.complete_message(msg)
@@ -75,7 +75,7 @@ def fix_deadletters(servicebus_client):
7575
sub_queue=ServiceBusSubQueue.DEAD_LETTER)
7676
msgs_to_send = []
7777
with dlq_receiver:
78-
received_dlq_msgs = dlq_receiver.receive_messages(max_message_count=10)
78+
received_dlq_msgs = dlq_receiver.receive_messages(max_message_count=10, max_wait_time=5)
7979
for msg in received_dlq_msgs:
8080
if msg.subject and msg.subject == "Bad":
8181
msg_copy = ServiceBusMessage(str(msg), subject="Good")
@@ -86,7 +86,7 @@ def fix_deadletters(servicebus_client):
8686
print("Resending fixed messages")
8787
sender.send_messages(msgs_to_send)
8888
with receiver:
89-
received_msgs = receiver.receive_messages(max_message_count=10)
89+
received_msgs = receiver.receive_messages(max_message_count=10, max_wait_time=5)
9090
for msg in received_msgs:
9191
if msg.subject and msg.subject == "Good":
9292
print("Received fixed message: Body={}, Subject={}".format(next(msg.body), msg.subject))

0 commit comments

Comments
 (0)