Skip to content

Commit

Permalink
Fixing scaler provider initialization pattern (#38673)
Browse files Browse the repository at this point in the history
  • Loading branch information
alrod authored Sep 14, 2023
1 parent b415af0 commit 7f26772
Show file tree
Hide file tree
Showing 3 changed files with 9 additions and 42 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -94,20 +94,9 @@ public static IWebJobsBuilder AddEventHubs(this IWebJobsBuilder builder, Action<

internal static IWebJobsBuilder AddEventHubsScaleForTrigger(this IWebJobsBuilder builder, TriggerMetadata triggerMetadata)
{
IServiceProvider serviceProvider = null;
Lazy<EventHubsScalerProvider> scalerProvider = new Lazy<EventHubsScalerProvider>(() => new EventHubsScalerProvider(serviceProvider, triggerMetadata));

builder.Services.AddSingleton<IScaleMonitorProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});

builder.Services.AddSingleton<ITargetScalerProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});
builder.Services.AddSingleton(serviceProvider => new EventHubsScalerProvider(serviceProvider, triggerMetadata));
builder.Services.AddSingleton<IScaleMonitorProvider>(serviceProvider => serviceProvider.GetRequiredService<EventHubsScalerProvider>());
builder.Services.AddSingleton<ITargetScalerProvider>(serviceProvider => serviceProvider.GetRequiredService<EventHubsScalerProvider>());

return builder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -108,20 +108,9 @@ public static IWebJobsBuilder AddServiceBus(this IWebJobsBuilder builder, Action

internal static IWebJobsBuilder AddServiceBusScaleForTrigger(this IWebJobsBuilder builder, TriggerMetadata triggerMetadata)
{
IServiceProvider serviceProvider = null;
Lazy<ServiceBusScalerProvider> scalerProvider = new Lazy<ServiceBusScalerProvider>(() => new ServiceBusScalerProvider(serviceProvider, triggerMetadata));

builder.Services.AddSingleton<IScaleMonitorProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});

builder.Services.AddSingleton<ITargetScalerProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});
builder.Services.AddSingleton(serviceProvider => new ServiceBusScalerProvider(serviceProvider, triggerMetadata));
builder.Services.AddSingleton<IScaleMonitorProvider>(serviceProvider => serviceProvider.GetRequiredService<ServiceBusScalerProvider>());
builder.Services.AddSingleton<ITargetScalerProvider>(serviceProvider => serviceProvider.GetRequiredService<ServiceBusScalerProvider>());

return builder;
}
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -74,20 +74,9 @@ public static IWebJobsBuilder AddAzureStorageQueues(this IWebJobsBuilder builder
/// <returns></returns>
public static IWebJobsBuilder AddAzureStorageQueuesScaleForTrigger(this IWebJobsBuilder builder, TriggerMetadata triggerMetadata)
{
IServiceProvider serviceProvider = null;
Lazy<QueueScalerProvider> scalerProvider = new Lazy<QueueScalerProvider>(() => new QueueScalerProvider(serviceProvider, triggerMetadata));

builder.Services.AddSingleton<IScaleMonitorProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});

builder.Services.AddSingleton<ITargetScalerProvider>(resolvedServiceProvider =>
{
serviceProvider = serviceProvider ?? resolvedServiceProvider;
return scalerProvider.Value;
});
builder.Services.AddSingleton(serviceProvider => new QueueScalerProvider(serviceProvider, triggerMetadata));
builder.Services.AddSingleton<IScaleMonitorProvider>(serviceProvider => serviceProvider.GetRequiredService<QueueScalerProvider>());
builder.Services.AddSingleton<ITargetScalerProvider>(serviceProvider => serviceProvider.GetRequiredService<QueueScalerProvider>());

return builder;
}
Expand Down

0 comments on commit 7f26772

Please sign in to comment.