mirror of
https://github.com/home-assistant/core.git
synced 2025-07-23 21:27:38 +00:00
Integrate add worker to bootstrap.setup_component
This commit is contained in:
parent
3e4c0261b1
commit
8c62ae4ce5
@ -17,7 +17,7 @@ from collections import defaultdict
|
|||||||
import homeassistant
|
import homeassistant
|
||||||
import homeassistant.loader as loader
|
import homeassistant.loader as loader
|
||||||
import homeassistant.components as core_components
|
import homeassistant.components as core_components
|
||||||
|
import homeassistant.components.group as group
|
||||||
|
|
||||||
_LOGGER = logging.getLogger(__name__)
|
_LOGGER = logging.getLogger(__name__)
|
||||||
|
|
||||||
@ -35,6 +35,11 @@ def setup_component(hass, domain, config=None):
|
|||||||
|
|
||||||
_LOGGER.info("component %s initialized", domain)
|
_LOGGER.info("component %s initialized", domain)
|
||||||
|
|
||||||
|
# Assumption: if a component does not depend on groups
|
||||||
|
# it communicates with devices
|
||||||
|
if group.DOMAIN not in component.DEPENDENCIES:
|
||||||
|
hass.pool.add_worker()
|
||||||
|
|
||||||
return True
|
return True
|
||||||
|
|
||||||
else:
|
else:
|
||||||
@ -75,18 +80,8 @@ def from_config_dict(config, hass=None):
|
|||||||
_LOGGER.info("Home Assistant core initialized")
|
_LOGGER.info("Home Assistant core initialized")
|
||||||
|
|
||||||
# Setup the components
|
# Setup the components
|
||||||
|
|
||||||
# We assume that all components that load before the group component loads
|
|
||||||
# are components that poll devices. As their tasks are IO based, we will
|
|
||||||
# add an extra worker for each of them.
|
|
||||||
add_worker = True
|
|
||||||
|
|
||||||
for domain in loader.load_order_components(components):
|
for domain in loader.load_order_components(components):
|
||||||
if setup_component(hass, domain, config):
|
setup_component(hass, domain, config)
|
||||||
add_worker = add_worker and domain != "group"
|
|
||||||
|
|
||||||
if add_worker:
|
|
||||||
hass.pool.add_worker()
|
|
||||||
|
|
||||||
return hass
|
return hass
|
||||||
|
|
||||||
|
@ -68,8 +68,7 @@ def setup(hass, config):
|
|||||||
logger.info("Found new service: %s %s", service, info)
|
logger.info("Found new service: %s %s", service, info)
|
||||||
|
|
||||||
if component and component not in hass.components:
|
if component and component not in hass.components:
|
||||||
if bootstrap.setup_component(hass, component, config):
|
bootstrap.setup_component(hass, component, config)
|
||||||
hass.pool.add_worker()
|
|
||||||
|
|
||||||
hass.bus.fire(EVENT_PLATFORM_DISCOVERED, {
|
hass.bus.fire(EVENT_PLATFORM_DISCOVERED, {
|
||||||
ATTR_SERVICE: service,
|
ATTR_SERVICE: service,
|
||||||
|
@ -39,9 +39,7 @@ def setup(hass, config):
|
|||||||
|
|
||||||
# Ensure component is loaded
|
# Ensure component is loaded
|
||||||
if component.DOMAIN not in hass.components:
|
if component.DOMAIN not in hass.components:
|
||||||
# Add a worker on succesfull setup
|
bootstrap.setup_component(hass, component.DOMAIN, config)
|
||||||
if bootstrap.setup_component(hass, component.DOMAIN, config):
|
|
||||||
hass.pool.add_worker()
|
|
||||||
|
|
||||||
# Fire discovery event
|
# Fire discovery event
|
||||||
hass.bus.fire(EVENT_PLATFORM_DISCOVERED, {
|
hass.bus.fire(EVENT_PLATFORM_DISCOVERED, {
|
||||||
|
Loading…
x
Reference in New Issue
Block a user