Fix blocking open() calls by offloading file I/O to async_add_executo… #157
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
…r_job
In
__init__.py
, direct open() calls were being made on the Home Assistant event loop, leading to “Detected blocking call to open()” warnings and potential performance issues.To address this:
pages_schema.json
out of the constructor and intoasync_added_to_hass
, wrapping the file read withhass.async_add_executor_job()
._sync_read_json
,_sync_read_text
, etc.) for file I/O. These are called insideasync_add_executor_job()
, preventing the main loop from blocking.async_load_page
to use the same pattern for JSON or text lines, validating JSON data against the pre-loaded schema.