return self._config
-def only_on_real_changes(selector: Callable[[KresConfig], Any]) -> Callable[[UpdateCallback], UpdateCallback]:
+def only_on_real_changes_update(selector: Callable[[KresConfig], Any]) -> Callable[[UpdateCallback], UpdateCallback]:
def decorator(orig_func: UpdateCallback) -> UpdateCallback:
original_value_set: Any = False
original_value: Any = None
- async def new_func(config: KresConfig) -> None:
+ async def new_func_update(config: KresConfig) -> None:
nonlocal original_value_set
nonlocal original_value
if not original_value_set:
original_value = selector(config)
await orig_func(config)
- return new_func
+ return new_func_update
return decorator
from typing import Any, Callable, List, Optional
from knot_resolver_manager.compat.asyncio import create_task
-from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes, only_on_real_changes_verifier
+from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes_update, only_on_real_changes_verifier
from knot_resolver_manager.constants import (
FIX_COUNTER_DECREASE_INTERVAL_SEC,
MANAGER_FIX_ATTEMPT_MAX_COUNTER,
# register and immediately call a callback that applies policy rules configuration
await config_store.register_on_change_callback(
- only_on_real_changes(lambda config: [config.views, config.local_data, config.forward])(
+ only_on_real_changes_update(lambda config: [config.views, config.local_data, config.forward])(
self.apply_policy_rules_config
)
)
await config_store.register_verifier(only_on_real_changes_verifier(config_nodes)(self.validate_config))
# register and immediately call a callback to apply config to all 'kresd' workers and 'cache-gc'
- await config_store.register_on_change_callback(only_on_real_changes(config_nodes)(self.apply_config))
+ await config_store.register_on_change_callback(only_on_real_changes_update(config_nodes)(self.apply_config))
# register controller config change listeners
await config_store.register_verifier(_deny_max_worker_changes)
import sys
from typing import Optional
-from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes
+from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes_update
from knot_resolver_manager.constants import STARTUP_LOG_LEVEL
from knot_resolver_manager.datamodel.config_schema import KresConfig
from knot_resolver_manager.datamodel.logging_schema import LogTargetEnum
root.addHandler(handler)
-@only_on_real_changes(lambda config: config.logging)
+@only_on_real_changes_update(lambda config: config.logging)
async def _configure_logger(config: KresConfig) -> None:
await _set_logging_handler(config)
await _set_log_level(config)
from typing import TYPE_CHECKING, Any, Dict, Generator, List, Optional, Tuple
from knot_resolver_manager import compat
-from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes
+from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes_update
from knot_resolver_manager.datamodel.config_schema import KresConfig
from knot_resolver_manager.kresd_controller.registered_workers import (
command_registered_workers,
_graphite_bridge: Optional[GraphiteBridge] = None
- @only_on_real_changes(lambda c: c.monitoring.graphite)
+ @only_on_real_changes_update(lambda c: c.monitoring.graphite)
async def _configure_graphite_bridge(config: KresConfig) -> None:
"""
Starts graphite bridge if required
import pytest
-from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes
+from knot_resolver_manager.config_store import ConfigStore, only_on_real_changes_update
from knot_resolver_manager.datamodel.config_schema import KresConfig
async def test_only_once():
count = 0
- @only_on_real_changes(lambda config: config.logging.level)
+ @only_on_real_changes_update(lambda config: config.logging.level)
async def change_callback(config: KresConfig) -> None:
nonlocal count
count += 1