Skip to content

Commit bcde59d

Browse files
authored
Replacing the cached value of workerRuntime (#9073)
1 parent bf81e91 commit bcde59d

File tree

5 files changed

+11
-7
lines changed

5 files changed

+11
-7
lines changed

src/WebJobs.Script/Host/FunctionMetadataProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -39,7 +39,7 @@ public async Task<ImmutableArray<FunctionMetadata>> GetFunctionMetadataAsync(IEn
3939

4040
_logger.LogInformation("Worker indexing is enabled");
4141

42-
FunctionMetadataResult functionMetadataResult = await _workerFunctionMetadataProvider?.GetFunctionMetadataAsync(workerConfigs, SystemEnvironment.Instance, forceRefresh);
42+
FunctionMetadataResult functionMetadataResult = await _workerFunctionMetadataProvider?.GetFunctionMetadataAsync(workerConfigs, forceRefresh);
4343
FunctionErrors = _workerFunctionMetadataProvider.FunctionErrors;
4444

4545
if (functionMetadataResult.UseDefaultMetadataIndexing)

src/WebJobs.Script/Host/IWorkerFunctionMetadataProvider.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -19,6 +19,6 @@ internal interface IWorkerFunctionMetadataProvider
1919
/// Attempts to get function metadata from Out-of-Proc language workers
2020
/// </summary>
2121
/// <returns>FunctionMetadataResult that either contains the function metadata or indicates that a fall back option for fetching metadata should be used</returns>
22-
Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<RpcWorkerConfig> workerConfigs, IEnvironment environment, bool forceRefresh = false);
22+
Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<RpcWorkerConfig> workerConfigs, bool forceRefresh = false);
2323
}
2424
}

src/WebJobs.Script/Host/WorkerFunctionMetadataProvider.cs

Lines changed: 7 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -24,7 +24,7 @@ internal class WorkerFunctionMetadataProvider : IWorkerFunctionMetadataProvider
2424
private readonly ILogger _logger;
2525
private readonly IEnvironment _environment;
2626
private readonly IWebHostRpcWorkerChannelManager _channelManager;
27-
private readonly string _workerRuntime;
27+
private string _workerRuntime;
2828
private ImmutableArray<FunctionMetadata> _functions;
2929

3030
public WorkerFunctionMetadataProvider(
@@ -43,8 +43,12 @@ public WorkerFunctionMetadataProvider(
4343
public ImmutableDictionary<string, ImmutableArray<string>> FunctionErrors
4444
=> _functionErrors.ToImmutableDictionary(kvp => kvp.Key, kvp => kvp.Value.ToImmutableArray());
4545

46-
public async Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<RpcWorkerConfig> workerConfigs, IEnvironment environment, bool forceRefresh)
46+
public async Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<RpcWorkerConfig> workerConfigs, bool forceRefresh)
4747
{
48+
_workerRuntime = _environment.GetEnvironmentVariable(EnvironmentSettingNames.FunctionWorkerRuntime);
49+
50+
_logger.LogInformation("Fetching metadata for workerRuntime: {workerRuntime}", _workerRuntime);
51+
4852
IEnumerable<FunctionMetadata> functions = new List<FunctionMetadata>();
4953
_logger.FunctionMetadataProviderParsingFunctions();
5054

@@ -91,7 +95,7 @@ public async Task<FunctionMetadataResult> GetFunctionMetadataAsync(IEnumerable<R
9195
_logger.FunctionMetadataProviderFunctionFound(_functions.IsDefault ? 0 : _functions.Count());
9296

9397
// Validate if the app has functions in legacy format and add in logs to inform about the mixed app
94-
_ = Task.Delay(TimeSpan.FromMinutes(1)).ContinueWith(t => ValidateFunctionAppFormat(_scriptApplicationHostOptions.Value.ScriptPath, _logger, environment));
98+
_ = Task.Delay(TimeSpan.FromMinutes(1)).ContinueWith(t => ValidateFunctionAppFormat(_scriptApplicationHostOptions.Value.ScriptPath, _logger, _environment));
9599

96100
break;
97101
}

test/WebJobs.Script.Tests.Shared/TestHostBuilderExtensions.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -102,7 +102,7 @@ private static IServiceCollection AddFunctionMetadataManager(this IServiceCollec
102102
var hostMetadataProvider = new HostFunctionMetadataProvider(optionsMonitor, NullLogger<HostFunctionMetadataProvider>.Instance, metricsLogger);
103103

104104
var workerProvider = new Mock<IWorkerFunctionMetadataProvider>();
105-
workerProvider.Setup(m => m.GetFunctionMetadataAsync(It.IsAny<IEnumerable<RpcWorkerConfig>>(), SystemEnvironment.Instance, false)).Returns(Task.FromResult(new FunctionMetadataResult(true, ImmutableArray<FunctionMetadata>.Empty)));
105+
workerProvider.Setup(m => m.GetFunctionMetadataAsync(It.IsAny<IEnumerable<RpcWorkerConfig>>(), false)).Returns(Task.FromResult(new FunctionMetadataResult(true, ImmutableArray<FunctionMetadata>.Empty)));
106106
var defaultProvider = new FunctionMetadataProvider(NullLogger<FunctionMetadataProvider>.Instance, workerProvider.Object, hostMetadataProvider);
107107
var metadataManager = TestFunctionMetadataManager.GetFunctionMetadataManager(new OptionsWrapper<ScriptJobHostOptions>(new ScriptJobHostOptions()), defaultProvider, new List<IFunctionProvider>(), new OptionsWrapper<HttpWorkerOptions>(new HttpWorkerOptions()), new NullLoggerFactory(), new OptionsWrapper<LanguageWorkerOptions>(TestHelpers.GetTestLanguageWorkerOptions()));
108108
services.AddSingleton<IFunctionMetadataManager>(metadataManager);

test/WebJobs.Script.Tests/FunctionMetadataProviderTests.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ public void GetFunctionMetadataAsync_WorkerIndexing_HostFallback()
5959
var defaultProvider = new FunctionMetadataProvider(_logger, _workerFunctionMetadataProvider.Object, _hostFunctionMetadataProvider.Object);
6060

6161
FunctionMetadataResult result = new FunctionMetadataResult(true, functionMetadataCollection.ToImmutableArray());
62-
_workerFunctionMetadataProvider.Setup(m => m.GetFunctionMetadataAsync(workerConfigs, environment, false)).Returns(Task.FromResult(result));
62+
_workerFunctionMetadataProvider.Setup(m => m.GetFunctionMetadataAsync(workerConfigs, false)).Returns(Task.FromResult(result));
6363
_hostFunctionMetadataProvider.Setup(m => m.GetFunctionMetadataAsync(workerConfigs, environment, false)).Returns(Task.FromResult(functionMetadataCollection.ToImmutableArray()));
6464

6565
// Act

0 commit comments

Comments
 (0)