Parallelize Recommendation creation in Subsonic provider (#2254)
* Add Open Subsonic Cache category
We will be using this initially for podcast channels as they are slow to
look up for larger podcasts. This category, and caching in general
should be used across the provider (at a later date).
Signed-off-by: Eric B Munson <eric@munsonfam.org>
* Feat: Subsonic: Parallelize Recommendation creation
When all the recommendations are enabled the main page is rather slow to
load. Split each kind into a helper function and invoke each helper that
is enabled in parallel.
The newest podcast episode recommendation was the worst offender due to
the number of API calls for getting podcast channels. This was broken
into an initial pass over episodes to collect a set of channel ids, then
a parallel retrieval of the unique channel ids.
Signed-off-by: Eric B Munson <eric@munsonfam.org>