Looking for advice on the best practice here and proposed solution
Use Case: the async_setup routine is communicating with a cloud service; which may be unreachable for a variety of reasons (service unavailable, internet connection down, etc.). I would like the integration to continue to retry but not block startup of HA.
Currently, if the communication succeeds I call:
hass.helpers.discovery.load_platform('climate', DOMAIN, s30api, config)
Which then loads the climate entities.
Proposed solution: spin off an async task via
asyncio.create_task(myretrytask())
and, have it call
hass.helpers.discovery.load_platform(....)
if it succeeds in connecting.
Is that valid or can load_platform only be called during the startup phase?
Better solutions and/or reference examples?