internal async void InitializeWebhostLanguageWorkerChannel()
        {
            _logger.LogDebug("Creating new webhost language worker channel for runtime:{workerRuntime}.", _workerRuntime);
            ILanguageWorkerChannel workerChannel = await _languageWorkerChannelManager.InitializeChannelAsync(_workerRuntime);

            workerChannel.RegisterFunctions(_workerState.Functions);
        }
        internal Task InitializeChannelsAsync()
        {
            string workerRuntime = _environment.GetEnvironmentVariable(LanguageWorkerConstants.FunctionWorkerRuntimeSettingName);

            if (_environment.IsLinuxAppServiceEnvironment())
            {
                return(Task.CompletedTask);
            }
            if (_environment.IsLinuxContainerEnvironment())
            {
                return(Task.CompletedTask);
            }
            if (string.IsNullOrEmpty(workerRuntime) && _environment.IsPlaceholderModeEnabled())
            {
                // Only warm up language workers in placeholder mode in worker runtime is not set
                return(Task.WhenAll(_languages.Select(runtime => _languageWorkerChannelManager.InitializeChannelAsync(runtime))));
            }
            if (_languages.Contains(workerRuntime))
            {
                return(_languageWorkerChannelManager.InitializeChannelAsync(workerRuntime));
            }
            return(Task.CompletedTask);
        }