mirror of
https://github.com/Akkudoktor-EOS/EOS.git
synced 2026-02-26 19:06:20 +00:00
fix: Improve provider update error handling and add VRM provider settings validation (#887)
Some checks are pending
Bump Version / Bump Version Workflow (push) Waiting to run
docker-build / platform-excludes (push) Waiting to run
docker-build / build (push) Blocked by required conditions
docker-build / merge (push) Blocked by required conditions
pre-commit / pre-commit (push) Waiting to run
Run Pytest on Pull Request / test (push) Waiting to run
Some checks are pending
Bump Version / Bump Version Workflow (push) Waiting to run
docker-build / platform-excludes (push) Waiting to run
docker-build / build (push) Blocked by required conditions
docker-build / merge (push) Blocked by required conditions
pre-commit / pre-commit (push) Waiting to run
Run Pytest on Pull Request / test (push) Waiting to run
* fix: improve error handling for provider updates Distinguishes failures of active providers from inactive ones. Propagates errors only for enabled providers, allowing execution to continue if a non-active provider fails, which avoids unnecessary interruptions and improves robustness. * fix: add provider settings validation for forecast requests Prevents potential runtime errors by checking if provider settings are configured before accessing forecast credentials. Raises a clear error when settings are missing to help with debugging misconfigurations. * refactor(load): move provider settings to top-level fields Transitions load provider settings from a nested "provider_settings" object with provider-specific keys to dedicated top-level fields.\n\nRemoves the legacy "provider_settings" mapping and updates migration logic to ensure backward compatibility with existing configurations. * docs: update version numbers and documantation --------- Co-authored-by: Normann <github@koldrack.com>
This commit is contained in:
committed by
GitHub
parent
2ca9c930e5
commit
04420e66ab
@@ -1982,8 +1982,14 @@ class DataContainer(SingletonMixin, DataABC, MutableMapping):
|
||||
provider.update_data(force_enable=force_enable, force_update=force_update)
|
||||
except Exception as ex:
|
||||
error = f"Provider {provider.provider_id()} fails on update - enabled={provider.enabled()}, force_enable={force_enable}, force_update={force_update}: {ex}"
|
||||
logger.error(error)
|
||||
raise RuntimeError(error)
|
||||
if provider.enabled():
|
||||
# The active provider failed — this is a real error worth propagating.
|
||||
logger.error(error)
|
||||
raise RuntimeError(error)
|
||||
else:
|
||||
# A non-active provider failed (e.g. missing config while force_enable=True).
|
||||
# Log as warning and continue so the remaining providers still run.
|
||||
logger.warning(error)
|
||||
|
||||
def key_to_series(
|
||||
self,
|
||||
|
||||
Reference in New Issue
Block a user