Run coroutines as eager tasks in async_run_hass_job (#111683)

* Run coroutines as eager tasks in async_run_hass_job

Note that this does not change async_add_hass_job

Do not merge this. For test run only

* Phase out periodic tasks

* false by default or some tests will block forever, will need to fix each one manually

* kwarg works

* kwarg works

* kwarg works

* fixes

* fix more tests

* fix more tests

* fix lifx

* opensky

* pvpc_hourly_pricing

* adjust more

* adjust more

* smarttub

* adjust more

* adjust more

* adjust more

* adjust more

* adjust

* no eager executor

* zha

* qnap_qsw

* fix more

* fix fix

* docs

* its a wrapper now

* add more coverage

* coverage

* cover all combos

* more fixes

* more fixes

* more fixes

* remaining issues are legit bugs in tests

* make tplink test more predictable

* more fixes

* feedreader

* grind out some more

* make test race safe

* limit first scope to triggers

* one more

* Start tasks eagerly in for async_at_start(ed)

A few of these can avoid being scheduled on the loop
during startup

* fix cloud

* Revert "fix cloud"

This reverts commit 5eb3ce695d.

* fix test to do what start does

* flip flag

* flip flag

* Fix here_travel_time creating many refresh requests at startup

- Each entity would try to refresh the coordinator which
  created many tasks. Move the refresh to a single
  async_at_started

- The tests fired the EVENT_HOMEASSISTANT_START event
  but the code used async_at_started which only worked
  because the tests did not set CoreState to not_running

* fix azure

* remove kw

* remove kw

* rip

* cover

* more rips

* more rips

* more rips
This commit is contained in:
J. Nick Koston 2024-03-11 14:05:08 -10:00 committed by GitHub
parent 53c3e27ed9
commit 620433a79d
No known key found for this signature in database
GPG key ID: B5690EEEBB952194
17 changed files with 40 additions and 49 deletions

View file

@ -140,7 +140,6 @@ def _process_integration_platforms(
hass,
integration.domain,
platform,
eager_start=True,
)
)
]
@ -250,7 +249,7 @@ async def _async_process_integration_platforms(
continue
if future := hass.async_run_hass_job(
process_job, hass, integration.domain, platform, eager_start=True
process_job, hass, integration.domain, platform
):
futures.append(future)