Skip to content

Commit ae550cb

Browse files
Respect SessionIdleTimeout for batch functions (Azure#30067)
* Respect SessionIdleTimeout for batch functions * Revert to isSessionsEnabled check * Fix
1 parent 455a9e7 commit ae550cb

File tree

2 files changed

+188
-123
lines changed

2 files changed

+188
-123
lines changed

sdk/servicebus/Microsoft.Azure.WebJobs.Extensions.ServiceBus/src/Listeners/ServiceBusListener.cs

Lines changed: 7 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -390,10 +390,13 @@ private async Task RunBatchReceiveLoopAsync(CancellationToken cancellationToken)
390390
}
391391
}
392392

393-
IReadOnlyList<ServiceBusReceivedMessage> messages =
394-
await receiver.ReceiveMessagesAsync(
395-
_serviceBusOptions.MaxMessageBatchSize,
396-
cancellationToken: cancellationToken).AwaitWithCancellation(cancellationToken);
393+
// For non-session receiver, we just fall back to the operation timeout.
394+
TimeSpan? maxWaitTime = _isSessionsEnabled ? _serviceBusOptions.SessionIdleTimeout : null;
395+
396+
IReadOnlyList<ServiceBusReceivedMessage> messages = await receiver.ReceiveMessagesAsync(
397+
_serviceBusOptions.MaxMessageBatchSize,
398+
maxWaitTime,
399+
cancellationToken).ConfigureAwait(false);
397400

398401
if (messages.Count > 0)
399402
{

0 commit comments

Comments
 (0)