This PR finishes the transition to away from the MetadataBase class towards the Extractor interface by replacing the remaining occurrences of MetadataBase inheritance with the respective functionality.
Those changes should not affect how the actual extractors work, just how their
code is organized. As one can see e.g. from the DirectMatch extractor, the logic is pretty simple once consolidated in a single function and with all the other variants (controlled via enums etc) removed.
This PR also introduces an endpoint for cache warmup. This endpoint takes a list of urls and then fires requests on it's own api from a subprocess. This will gradually populate the cache of the application without rendering it non-responsive.
@RMeissnerCC another pretty substantial PR. Again, the commits should be somewhat independent, i.e. reviewing individual commits may be reasonable. It would also be possible to split it into multiple PRs.
This PR finishes the transition to away from the
MetadataBase
class towards theExtractor
interface by replacing the remaining occurrences ofMetadataBase
inheritance with the respective functionality.Those changes should not affect how the actual extractors work, just how their code is organized. As one can see e.g. from the
DirectMatch
extractor, the logic is pretty simple once consolidated in a single function and with all the other variants (controlled via enums etc) removed.This PR also introduces an endpoint for cache warmup. This endpoint takes a list of urls and then fires requests on it's own api from a subprocess. This will gradually populate the cache of the application without rendering it non-responsive.