in extension/WebJobs.Extensions.RabbitMQ/Trigger/RabbitMQListener.cs [143:163]
public Task StopAsync(CancellationToken cancellationToken)
{
int previousState = Interlocked.CompareExchange(ref this.listenerState, ListenerStopping, ListenerStarted);
if (previousState == ListenerStarted)
{
// TODO: Close RabbitMQ connection along with the channel.
this.channel.BasicCancel(this.consumerTag);
this.channel.Close();
if (!this.drainModeManager.IsDrainModeEnabled)
{
this.listenerCancellationTokenSource.Cancel();
}
this.listenerState = ListenerStopped;
this.logger.LogDebug($"Stopped RabbitMQ trigger listener for {this.logDetails}.");
}
return Task.CompletedTask;
}