in src/Microsoft.Azure.WebJobs.Extensions.Kafka/Listeners/Scaler/KafkaGenericTargetScaler.cs [131:147]
internal int ThrottleResultIfNecessary(int targetWorkerCount)
{
// Throttle Scale Down if Scale Up has recently occurred.
if (GetChangeInWorkerCount(targetWorkerCount) < 0)
{
var scaleDownThrottleTime = TimeSpan.FromMinutes(1);
if (lastScaleUpTime != DateTime.MinValue && DateTime.UtcNow - lastScaleUpTime < scaleDownThrottleTime)
{
if (lastTargetScalerResult != null)
{
targetWorkerCount = lastTargetScalerResult.TargetWorkerCount;
logger.LogInformation($"Throttling scale down as last scale up was less than 1 minute ago. Returning last target worker count: {lastTargetScalerResult.TargetWorkerCount}");
}
}
}
return targetWorkerCount;
}