J. Nick Koston
6d311a31dd
Ensure recorder event loop recovers if the database server dis… ( #33253 )
...
If the database server disconnects there were exceptions
that were not trapped which would cause the recorder event
loop to collapse. As we never want the loop to end
we trap exceptions broadly.
Fix a bug in the new commit interval setting which caused
it to always commit after 1s
2020-03-25 13:08:20 -07:00
Franck Nijhof
11a25157c1
Upgrade sqlalchemy to 1.3.15 ( #32747 )
2020-03-13 00:28:26 +01:00
J. Nick Koston
3a680bf7b7
Add a commit interval setting to recorder ( #32596 )
...
* Add a commit interval setting to recorder
* Make the default every 1s instead of immediate
* See attached py-spy flamegraphs for why 1s
* This avoids disk thrashing during event storms
* Make Home Assistant significantly more responsive on busy systems
* remove debug
* Add commit forces for tests that expect commits to be immediate
* Add commit forces for tests that expect commits to be immediate
* make sure _trigger_db_commit is in the right place (all effective "wait_recording_done" calls)
* De-duplicate wait_recording_done code
2020-03-09 17:43:26 -07:00
Paulus Schoutsen
7d8da47309
Revert "Use orjson to parse json faster ( #32153 )" ( #32185 )
...
This reverts commit 2365e2e8cf
.
2020-02-25 21:07:16 +01:00
Ruslan Sayfutdinov
2365e2e8cf
Use orjson to parse json faster ( #32153 )
...
* [recorder] Use orjson to parse json faster
* Remove from http manifest
* Bump to orjson 2.5.1
* Empty commit to trigger CI
Co-authored-by: Paulus Schoutsen <paulus@home-assistant.io>
2020-02-25 10:20:51 -08:00
Jonathan Østrup
150b376cf9
Add recorder vars db_max_retries and db_retry_wait ( #31561 )
...
* added recorder vars db_max_retries and db_retry_wait
* fixed test_recorder_setup_failure
I failed because it was missing the two new variables. I simply added these with default values.
* fixed syntax error in test_recorder_setup_failure
* fixed formatting error in test_init_py for recorder component
* fixed typo in test case
* Updated the way the default keys for db_,max_wait and db_retry_wait is set
Implemented based on suggestions from @springstan
* Updated config_schema call to adhere to Black
* changed conf.get to conf[dict] for var retrieval
* removed 2 blank lines
2020-02-09 17:43:09 +01:00
Franck Nijhof
e9eaa6536d
Upgrade sqlalchemy to 1.3.13 ( #31101 )
2020-01-23 17:10:40 +01:00
Franck Nijhof
bfa0edaf92
Migrate Integration Quality Scale from docs to manifest: internal ( #30551 )
2020-01-07 20:58:49 +01:00
Ville Skyttä
e6388e186c
Remove unnecessary string literal concatenations ( #30360 )
2020-01-02 21:17:10 +02:00
Franck Nijhof
b1bb2298e0
Bump sqlalchemy to 1.3.12 ( #30142 )
2019-12-22 19:52:39 +01:00
Bas Nijholt
3d64405896
Sort imports according to PEP8 for recorder ( #29652 )
2019-12-08 18:48:18 +01:00
Ville Skyttä
99c7608fb4
Lint config cleanups ( #28864 )
...
* Remove bunch of unneeded lint exclusions
* Use symbolic names instead of identifiers in pylint disables
* Tighten scope of some pylint disables
2019-11-25 22:40:08 -08:00
Fabian Affolter
d8ca2e9d71
Upgrade sqlalchemy to 1.3.11 ( #28721 )
2019-11-16 09:56:26 +01:00
bastshoes
0226b76e0a
Add support SQL VACUUM for PostgeSQL ( #28106 )
...
* Add support SQL VACUUM for PostgeSQL
VACUUM PostgreSQL DB if repack is true
* Update tests
2019-10-22 08:39:26 -07:00
Malte Franken
83a709b768
Move imports in recorder component ( #27859 )
...
* move imports to top-level in recorder init
* move imports to top-level in recorder migration
* move imports to top-level in recorder models
* move imports to top-level in recorder purge
* move imports to top-level in recorder util
* fix pylint
2019-10-18 10:14:54 -07:00
Franck Nijhof
ed3516186b
Bump sqlalchemy to 1.3.10 ( #27408 )
2019-10-10 12:52:54 -07:00
Fabian Affolter
13956d3516
Upgrade sqlalchemy to 1.3.9 ( #27322 )
2019-10-08 09:30:18 -07:00
Franck Nijhof
c7da781efc
Update documentation link URL for integrations in all manifests ( #27114 )
2019-10-02 09:25:44 -07:00
Franck Nijhof
b1118cb8ff
Removes unnecessary else/elif blocks ( #26884 )
2019-09-24 13:53:03 -07:00
Ville Skyttä
33e1b44b3a
Use PEP 526 type annotations, add some type hints ( #26464 )
...
* Add some more type hints to helpers.event
* Change most type comments to variable types
* Remove some superfluous type hints
2019-09-07 09:48:58 +03:00
Josef Schlehofer
a80d26f0dc
Upgrade sqlalchemy to 1.3.8 ( #26331 )
2019-09-01 14:10:58 +03:00
Franck Nijhof
decf13b948
Use literal string interpolation in core (f-strings) ( #26166 )
2019-08-23 09:53:33 -07:00
Fabian Affolter
3307b4421e
Upgrade sqlalchemy to 1.3.7 ( #25997 )
2019-08-16 16:15:58 +02:00
Paulus Schoutsen
4de97abc3a
Black
2019-07-31 12:25:30 -07:00
Fabian Affolter
67b6657bcd
Upgrade sqlalchemy to 1.3.5 ( #24844 )
2019-06-29 07:14:47 -04:00
Paulus Schoutsen
848a2a95a8
Fix recorder defaults ( #24399 )
...
* Fix recorder defaults
* Address comment
2019-06-08 18:18:28 -05:00
Paulus Schoutsen
f995ab9d54
Don't pass in loop ( #23984 )
...
* Don't pass in loop
* Revert some changes
* Lint + Axis revert
* reinstate loop
* Fix a test
* Set loop
* Update camera.py
* Lint
2019-05-22 21:09:59 -07:00
Fabian Affolter
c309bd9ff0
Upgrade sqlalchemy to 1.3.3 ( #23674 )
2019-05-05 01:06:47 +02:00
cgtobi
2c07bfb9e0
Remove dependencies and requirements ( #23024 )
...
* Remove dependencies and requirements
* Revert "Remove dependencies and requirements"
This reverts commit fe7171b4cd
.
* Remove dependencies and requirements
* Revert "Remove dependencies and requirements"
This reverts commit 391355ee2c
.
* Remove dependencies and requirements
* Fix flake8 complaints
* Fix more flake8 complaints
* Revert non-component removals
2019-04-12 10:13:30 -07:00
Paulus Schoutsen
cfe4cf30ad
Add manifests ( #22699 )
...
* Add manifests
* Update auto name
* Update codeowners
* Add requirements from platforms
* Minor cleanup
* Incorporate changes from awarecan PR
2019-04-03 21:14:45 -07:00
Anders Melchiorsen
eabb68ad7d
Do not warn when creating an empty database ( #22343 )
2019-03-24 12:00:29 -07:00
Fabian Affolter
3432c5da9e
Upgrade sqlalchemy to 1.3.0 ( #22269 )
2019-03-21 19:40:11 -07:00
Jason Hu
226be65910
Only commit if need. ( #21848 )
2019-03-09 12:04:13 -08:00
Paulus Schoutsen
df25128923
Avoid recorder thread crashing ( #21668 )
2019-03-04 16:01:31 -08:00
Paulus Schoutsen
52f337ef00
Allow chaining contexts ( #21028 )
...
* Allow chaining contexts
* Add stubbed out migration
2019-03-01 10:08:38 -08:00
Daniel Høyer Iversen
519315f9c8
pylint 2.3.0 ( #21485 )
...
* pylint 2.3.0
* remove const
* disable=syntax-error
2019-02-27 16:10:40 -05:00
Fabian Affolter
6cdc5a5c2d
Upgrade sqlalchemy to 1.2.18 ( #21162 )
2019-02-18 11:19:40 +01:00
Fabian Affolter
127c55e0c1
Update file header ( #21023 )
...
* Update file header
* Update file header
* Update file header
* Update file header
* Update file header
* Fix lint issues
2019-02-13 21:21:14 +01:00
Fabian Affolter
8db8a58763
Upgrade sqlalchemy to 1.2.17 ( #21020 )
...
* Upgrade sqlalchemy to 1.2.17
* Update requirements_all.txt
* Update requirements_test_all.txt
* Run script again
2019-02-13 12:30:37 +01:00
Fabian Affolter
9920699bb8
Upgrade sqlalchemy to 1.2.16 ( #20474 )
2019-01-26 22:11:00 +01:00
Anders Melchiorsen
e593383b4d
Error handling for recorder purge ( #20424 )
2019-01-26 11:02:16 +01:00
Paulus Schoutsen
c7f5beb794
history allowed to load states with invalid entity IDs ( #20399 )
2019-01-24 17:53:01 -08:00
Fabian Affolter
686a856a17
Upgrade sqlalchemy to 1.2.15 ( #19383 )
2018-12-18 15:48:06 +01:00
Anders Melchiorsen
f9c02889b2
Remove recorder purge protection ( #19358 )
2018-12-16 23:31:50 +01:00
Paulus Schoutsen
df21dd21f2
RFC: Call services directly ( #18720 )
...
* Call services directly
* Simplify
* Type
* Lint
* Update name
* Fix tests
* Catch exceptions in HTTP view
* Lint
* Handle ServiceNotFound in API endpoints that call services
* Type
* Don't crash recorder on non-JSON serializable objects
2018-11-30 21:28:35 +01:00
Adam Mills
5c3a4e3d10
Restore states through a JSON store instead of recorder ( #17270 )
...
* Restore states through a JSON store
* Accept entity_id directly in restore state helper
* Keep states stored between runs for a limited time
* Remove warning
2018-11-28 13:16:43 +01:00
Eliseo Martelli
bb37151987
fixed wording that may confuse user ( #18628 )
2018-11-23 01:46:22 +01:00
Aleksandr Smirnov
089a2f4e71
Logbook speedup ( #18376 )
...
* filter logbook results by entity_id prior to instantiating them
* include by default, pass pep8
* pass pylint
* use entityfilter, update tests
2018-11-19 10:36:00 +01:00
Fabian Affolter
320efdb744
Upgrade sqlalchemy to 1.2.14 ( #18504 )
2018-11-16 14:15:53 +01:00
Fabian Affolter
a3e77bc5f3
Upgrade sqlalchemy to 1.2.13 ( #18084 )
2018-11-01 13:25:45 +01:00