diff --git a/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs b/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs index 5145102c59..e76eec4d35 100644 --- a/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs +++ b/src/WebJobs.Script.Grpc/Channel/GrpcWorkerChannel.cs @@ -228,7 +228,8 @@ internal WorkerInitRequest GetWorkerInitRequest() return new WorkerInitRequest() { HostVersion = ScriptHost.Version, - WorkerDirectory = _workerConfig.Description.WorkerDirectory + WorkerDirectory = _workerConfig.Description.WorkerDirectory, + FunctionAppDirectory = _applicationHostOptions.CurrentValue.ScriptPath }; } diff --git a/src/WebJobs.Script.Grpc/azure-functions-language-worker-protobuf/src/proto/FunctionRpc.proto b/src/WebJobs.Script.Grpc/azure-functions-language-worker-protobuf/src/proto/FunctionRpc.proto index 187b22c83f..04a6c787b8 100644 --- a/src/WebJobs.Script.Grpc/azure-functions-language-worker-protobuf/src/proto/FunctionRpc.proto +++ b/src/WebJobs.Script.Grpc/azure-functions-language-worker-protobuf/src/proto/FunctionRpc.proto @@ -113,6 +113,9 @@ message WorkerInitRequest { // Full path of worker.config.json location string worker_directory = 4; + + // base directory for function app + string function_app_directory = 5; } // Worker responds with the result of initializing itself diff --git a/test/WebJobs.Script.Tests/Workers/Rpc/GrpcWorkerChannelTests.cs b/test/WebJobs.Script.Tests/Workers/Rpc/GrpcWorkerChannelTests.cs index ef1c0b5fb7..e21f1b13e6 100644 --- a/test/WebJobs.Script.Tests/Workers/Rpc/GrpcWorkerChannelTests.cs +++ b/test/WebJobs.Script.Tests/Workers/Rpc/GrpcWorkerChannelTests.cs @@ -225,8 +225,10 @@ public void WorkerInitRequest_Expected() { WorkerInitRequest initRequest = _workerChannel.GetWorkerInitRequest(); Assert.NotNull(initRequest.WorkerDirectory); + Assert.NotNull(initRequest.FunctionAppDirectory); Assert.NotNull(initRequest.HostVersion); Assert.Equal("testDir", initRequest.WorkerDirectory); + Assert.Equal(_scriptRootPath, initRequest.FunctionAppDirectory); Assert.Equal(ScriptHost.Version, initRequest.HostVersion); }