From 6be92ed24108092b068832214a5176cbdca69df5 Mon Sep 17 00:00:00 2001 From: emeric Date: Thu, 23 May 2019 13:35:02 +0200 Subject: [PATCH] do not fetch features if the recommendation engine is tags based --- src/main/main.cpp | 2 +- .../features/SimilarityFeaturesScannerAddon.cpp | 13 ++++++++++++- 2 files changed, 13 insertions(+), 2 deletions(-) diff --git a/src/main/main.cpp b/src/main/main.cpp index 01456fcd..89fb3be6 100644 --- a/src/main/main.cpp +++ b/src/main/main.cpp @@ -63,7 +63,7 @@ std::vector generateWtConfig(std::string execPath) args.push_back("--http-address=" + Config::instance().getString("listen-addr", "0.0.0.0")); } - // args.push_back("--gdb"); + args.push_back("--gdb"); // Generate the wt_config.xml file boost::property_tree::ptree pt; diff --git a/src/similarity/features/SimilarityFeaturesScannerAddon.cpp b/src/similarity/features/SimilarityFeaturesScannerAddon.cpp index 9d617c5e..bf29c757 100644 --- a/src/similarity/features/SimilarityFeaturesScannerAddon.cpp +++ b/src/similarity/features/SimilarityFeaturesScannerAddon.cpp @@ -21,6 +21,7 @@ #include "AcousticBrainzUtils.hpp" #include "database/Track.hpp" +#include "database/SimilaritySettings.hpp" #include "database/TrackFeatures.hpp" #include "similarity/features/SimilarityFeaturesCache.hpp" #include "utils/Config.hpp" @@ -41,7 +42,7 @@ getTracksWithMBIDAndMissingFeatures(Wt::Dbo::Session& session) { std::vector res; - Wt::Dbo::Transaction transaction(session); + Wt::Dbo::Transaction transaction {session}; auto tracks {Database::Track::getAllWithMBIDAndMissingFeatures(session)}; for (const Database::Track::pointer& track : tracks) @@ -91,6 +92,16 @@ FeaturesScannerAddon::trackUpdated(Database::IdType trackId) void FeaturesScannerAddon::preScanComplete() { + { + Wt::Dbo::Transaction transaction {_db.getSession()}; + + if (Database::SimilaritySettings::get(_db.getSession())->getEngineType() != Database::SimilaritySettings::EngineType::Features) + { + LMS_LOG(DBUPDATER, INFO) << "Do not fetch features since the engine type does not make use of them"; + return; + } + } + LMS_LOG(DBUPDATER, DEBUG) << "Getting tracks with missing Features..."; std::vector tracksInfo {getTracksWithMBIDAndMissingFeatures(_db.getSession())}; LMS_LOG(DBUPDATER, DEBUG) << "Getting tracks with missing Features DONE (found " << tracksInfo.size() << ")";