mirror of
https://github.com/home-assistant/core.git
synced 2025-07-19 19:27:45 +00:00
Accommodate systems with very large databases and slow disk/cpu (#38947)
On startup we run an sqlite3 quick_check to verify the database integrity. In the majority of cases, the quick_check takes under 10 seconds. On systems with very large databases and very slow disk/cpu, this can take much longer so we freeze the timeout.
This commit is contained in:
parent
8d8c1335c5
commit
ab2b2f6dd5
@ -534,7 +534,15 @@ class Recorder(threading.Thread):
|
|||||||
if self.db_url != SQLITE_URL_PREFIX and self.db_url.startswith(
|
if self.db_url != SQLITE_URL_PREFIX and self.db_url.startswith(
|
||||||
SQLITE_URL_PREFIX
|
SQLITE_URL_PREFIX
|
||||||
):
|
):
|
||||||
validate_or_move_away_sqlite_database(self.db_url)
|
with self.hass.timeout.freeze(DOMAIN):
|
||||||
|
#
|
||||||
|
# Here we run an sqlite3 quick_check. In the majority
|
||||||
|
# of cases, the quick_check takes under 10 seconds.
|
||||||
|
#
|
||||||
|
# On systems with very large databases and
|
||||||
|
# very slow disk or cpus, this can take a while.
|
||||||
|
#
|
||||||
|
validate_or_move_away_sqlite_database(self.db_url)
|
||||||
|
|
||||||
if self.engine is not None:
|
if self.engine is not None:
|
||||||
self.engine.dispose()
|
self.engine.dispose()
|
||||||
|
Loading…
x
Reference in New Issue
Block a user