Skip to content

Commit bf8e509

Browse files
author
Victoria Hall
committed
initial refactoring to config manager class
1 parent e5ccc99 commit bf8e509

21 files changed

+206
-210
lines changed

azure_functions_worker/bindings/shared_memory_data_transfer/file_accessor_factory.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55
import sys
66

77
from ...constants import FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
8-
from ...utils.config_manager import is_envvar_true
8+
from ...utils.config_manager import config_manager
99
from .file_accessor import DummyFileAccessor
1010
from .file_accessor_unix import FileAccessorUnix
1111
from .file_accessor_windows import FileAccessorWindows
@@ -18,7 +18,7 @@ class FileAccessorFactory:
1818
"""
1919
@staticmethod
2020
def create_file_accessor():
21-
if sys.platform == "darwin" and not is_envvar_true(
21+
if sys.platform == "darwin" and not config_manager.is_envvar_true(
2222
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED):
2323
return DummyFileAccessor()
2424
elif os.name == 'nt':

azure_functions_worker/bindings/shared_memory_data_transfer/file_accessor_unix.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@
99
from azure_functions_worker import constants
1010

1111
from ...logging import logger
12-
from ...utils.config_manager import get_app_setting
12+
from ...utils.config_manager import config_manager
1313
from .file_accessor import FileAccessor
1414
from .shared_memory_constants import SharedMemoryConstants as consts
1515
from .shared_memory_exception import SharedMemoryException
@@ -95,7 +95,7 @@ def _get_allowed_mem_map_dirs(self) -> List[str]:
9595
Otherwise, the default value will be used.
9696
"""
9797
setting = constants.UNIX_SHARED_MEMORY_DIRECTORIES
98-
allowed_mem_map_dirs_str = get_app_setting(setting)
98+
allowed_mem_map_dirs_str = config_manager.get_app_setting(setting)
9999
if allowed_mem_map_dirs_str is None:
100100
allowed_mem_map_dirs = consts.UNIX_TEMP_DIRS
101101
logger.info(

azure_functions_worker/bindings/shared_memory_data_transfer/shared_memory_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@
66

77
from ...constants import FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED
88
from ...logging import logger
9-
from ...utils.config_manager import is_envvar_true
9+
from ...utils.config_manager import config_manager
1010
from ..datumdef import Datum
1111
from .file_accessor_factory import FileAccessorFactory
1212
from .shared_memory_constants import SharedMemoryConstants as consts
@@ -55,7 +55,7 @@ def is_enabled(self) -> bool:
5555
Whether supported types should be transferred between functions host and
5656
the worker using shared memory.
5757
"""
58-
return is_envvar_true(
58+
return config_manager.is_envvar_true(
5959
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED)
6060

6161
def is_supported(self, datum: Datum) -> bool:

azure_functions_worker/dispatcher.py

Lines changed: 16 additions & 17 deletions
Original file line numberDiff line numberDiff line change
@@ -61,8 +61,7 @@
6161
)
6262
from .utils.app_setting_manager import get_python_appsetting_state
6363
from .utils.common import validate_script_file_name
64-
from .utils.config_manager import (clear_config, read_config,
65-
is_envvar_true, get_app_setting)
64+
from .utils.config_manager import config_manager
6665
from .utils.dependency import DependencyManager
6766
from .utils.tracing import marshall_exception_trace
6867
from .utils.wrappers import disable_feature_by
@@ -209,7 +208,7 @@ async def dispatch_forever(self): # sourcery skip: swap-if-expression
209208

210209
log_level = (
211210
logging.INFO
212-
if not is_envvar_true(PYTHON_ENABLE_DEBUG_LOGGING)
211+
if not config_manager.is_envvar_true(PYTHON_ENABLE_DEBUG_LOGGING)
213212
else logging.DEBUG
214213
)
215214

@@ -336,10 +335,10 @@ def initialize_azure_monitor(self):
336335
# Connection string can be explicitly specified in Appsetting
337336
# If not set, defaults to env var
338337
# APPLICATIONINSIGHTS_CONNECTION_STRING
339-
connection_string=get_app_setting(
338+
connection_string=config_manager.get_app_setting(
340339
setting=APPLICATIONINSIGHTS_CONNECTION_STRING
341340
),
342-
logger_name=get_app_setting(
341+
logger_name=config_manager.get_app_setting(
343342
setting=PYTHON_AZURE_MONITOR_LOGGER_NAME,
344343
default_value=PYTHON_AZURE_MONITOR_LOGGER_NAME_DEFAULT,
345344
),
@@ -376,7 +375,7 @@ async def _handle__worker_init_request(self, request):
376375
self._sync_call_tp = self._create_sync_call_tp(
377376
self._get_sync_tp_max_workers()
378377
)
379-
read_config(
378+
config_manager.read_config(
380379
os.path.join(worker_init_request.function_app_directory, "az-config.json")
381380
)
382381
logger.info(
@@ -406,7 +405,7 @@ async def _handle__worker_init_request(self, request):
406405
constants.RPC_HTTP_TRIGGER_METADATA_REMOVED: _TRUE,
407406
constants.SHARED_MEMORY_DATA_TRANSFER: _TRUE,
408407
}
409-
if get_app_setting(
408+
if config_manager.get_app_setting(
410409
setting=PYTHON_ENABLE_OPENTELEMETRY,
411410
default_value=PYTHON_ENABLE_OPENTELEMETRY_DEFAULT,
412411
):
@@ -425,7 +424,7 @@ async def _handle__worker_init_request(self, request):
425424
# dictionary which will be later used in the invocation request
426425
bindings.load_binding_registry()
427426

428-
if is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
427+
if config_manager.is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
429428
try:
430429
self.load_function_metadata(
431430
worker_init_request.function_app_directory,
@@ -466,7 +465,7 @@ def load_function_metadata(self, function_app_directory, caller_info):
466465
directory and save the results in function_metadata_result or
467466
function_metadata_exception in case of an exception.
468467
"""
469-
script_file_name = get_app_setting(
468+
script_file_name = config_manager.get_app_setting(
470469
setting=PYTHON_SCRIPT_FILE_NAME,
471470
default_value=f"{PYTHON_SCRIPT_FILE_NAME_DEFAULT}",
472471
)
@@ -494,7 +493,7 @@ async def _handle__functions_metadata_request(self, request):
494493
metadata_request = request.functions_metadata_request
495494
function_app_directory = metadata_request.function_app_directory
496495

497-
script_file_name = get_app_setting(
496+
script_file_name = config_manager.get_app_setting(
498497
setting=PYTHON_SCRIPT_FILE_NAME,
499498
default_value=f"{PYTHON_SCRIPT_FILE_NAME_DEFAULT}",
500499
)
@@ -506,7 +505,7 @@ async def _handle__functions_metadata_request(self, request):
506505
function_path,
507506
)
508507

509-
if not is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
508+
if not config_manager.is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
510509
try:
511510
self.load_function_metadata(
512511
function_app_directory, caller_info="functions_metadata_request"
@@ -819,11 +818,11 @@ async def _handle__function_environment_reload_request(self, request):
819818

820819
# Reload environment variables
821820
os.environ.clear()
822-
clear_config()
821+
config_manager.clear_config()
823822
env_vars = func_env_reload_request.environment_variables
824823
for var in env_vars:
825824
os.environ[var] = env_vars[var]
826-
read_config(
825+
config_manager.read_config(
827826
os.path.join(
828827
func_env_reload_request.function_app_directory, "az-config.json"
829828
)
@@ -835,7 +834,7 @@ async def _handle__function_environment_reload_request(self, request):
835834
self._get_sync_tp_max_workers()
836835
)
837836

838-
if is_envvar_true(PYTHON_ENABLE_DEBUG_LOGGING):
837+
if config_manager.is_envvar_true(PYTHON_ENABLE_DEBUG_LOGGING):
839838
root_logger = logging.getLogger()
840839
root_logger.setLevel(logging.DEBUG)
841840

@@ -847,7 +846,7 @@ async def _handle__function_environment_reload_request(self, request):
847846
bindings.load_binding_registry()
848847

849848
capabilities = {}
850-
if get_app_setting(
849+
if config_manager.get_app_setting(
851850
setting=PYTHON_ENABLE_OPENTELEMETRY,
852851
default_value=PYTHON_ENABLE_OPENTELEMETRY_DEFAULT,
853852
):
@@ -856,7 +855,7 @@ async def _handle__function_environment_reload_request(self, request):
856855
if self._azure_monitor_available:
857856
capabilities[constants.WORKER_OPEN_TELEMETRY_ENABLED] = _TRUE
858857

859-
if is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
858+
if config_manager.is_envvar_true(PYTHON_ENABLE_INIT_INDEXING):
860859
try:
861860
self.load_function_metadata(
862861
directory, caller_info="environment_reload_request"
@@ -1057,7 +1056,7 @@ def tp_max_workers_validator(value: str) -> bool:
10571056
else f"{PYTHON_THREADPOOL_THREAD_COUNT_DEFAULT}"
10581057
)
10591058

1060-
max_workers = get_app_setting(
1059+
max_workers = config_manager.get_app_setting(
10611060
setting=PYTHON_THREADPOOL_THREAD_COUNT,
10621061
default_value=default_value,
10631062
validator=tp_max_workers_validator,

azure_functions_worker/http_v2.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -14,7 +14,7 @@
1414
X_MS_INVOCATION_ID,
1515
)
1616
from azure_functions_worker.logging import logger
17-
from azure_functions_worker.utils.config_manager import is_envvar_false
17+
from azure_functions_worker.utils.config_manager import config_manager
1818

1919

2020
# Http V2 Exceptions
@@ -280,7 +280,7 @@ def ext_base(cls):
280280
@classmethod
281281
def _check_http_v2_enabled(cls):
282282
if sys.version_info.minor < BASE_EXT_SUPPORTED_PY_MINOR_VERSION or \
283-
is_envvar_false(PYTHON_ENABLE_INIT_INDEXING):
283+
config_manager.is_envvar_false(PYTHON_ENABLE_INIT_INDEXING):
284284
return False
285285

286286
import azurefunctions.extensions.base as ext_base

azure_functions_worker/loader.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -26,7 +26,7 @@
2626
RETRY_POLICY,
2727
)
2828
from .logging import logger
29-
from .utils.config_manager import get_app_setting
29+
from .utils.config_manager import config_manager
3030
from .utils.wrappers import attach_message_to_exception
3131

3232
_AZURE_NAMESPACE = '__app__'
@@ -255,7 +255,7 @@ def index_function_app(function_path: str):
255255
f"level function app instances are defined.")
256256

257257
if not app:
258-
script_file_name = get_app_setting(
258+
script_file_name = config_manager.get_app_setting(
259259
setting=PYTHON_SCRIPT_FILE_NAME,
260260
default_value=f'{PYTHON_SCRIPT_FILE_NAME_DEFAULT}')
261261
raise ValueError("Could not find top level function app instances in "

azure_functions_worker/utils/app_setting_manager.py

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -2,7 +2,7 @@
22
# Licensed under the MIT License.
33
import sys
44

5-
from .config_manager import get_config
5+
from .config_manager import config_manager
66
from ..constants import (
77
FUNCTIONS_WORKER_SHARED_MEMORY_DATA_TRANSFER_ENABLED,
88
PYTHON_ENABLE_DEBUG_LOGGING,
@@ -19,7 +19,7 @@
1919

2020

2121
def get_python_appsetting_state():
22-
current_vars = get_config()
22+
current_vars = config_manager.get_config()
2323
python_specific_settings = [
2424
PYTHON_ROLLBACK_CWD_PATH,
2525
PYTHON_THREADPOOL_THREAD_COUNT,

azure_functions_worker/utils/common.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -4,7 +4,7 @@
44
import re
55
import sys
66
from types import ModuleType
7-
import azure_functions_worker.utils.config_manager as config_manager
7+
from azure_functions_worker.utils.config_manager import config_manager
88

99
from azure_functions_worker.constants import (
1010
CUSTOMER_PACKAGES_PATH,

0 commit comments

Comments
 (0)