Don't load archived text products for days that have full coverage of live warning data

This commit is contained in:
Dan Paulat 2025-04-06 00:33:51 -05:00
parent 02ec27dd2f
commit 53ade7fc53

View file

@ -119,6 +119,7 @@ public:
std::chrono::hours loadHistoryDuration_ {kInitialLoadHistoryDuration_};
std::chrono::sys_time<std::chrono::hours> prevLoadTime_ {};
std::chrono::sys_days archiveLimit_ {};
std::mutex archiveMutex_ {};
std::list<std::chrono::sys_days> archiveDates_ {};
@ -215,7 +216,11 @@ void TextEventManager::SelectTime(
for (auto& date : dates)
{
p->LoadArchives(date);
if (p->archiveLimit_ == std::chrono::sys_days {} ||
date < p->archiveLimit_)
{
p->LoadArchives(date);
}
}
}
@ -399,6 +404,11 @@ void TextEventManager::Impl::Refresh()
startTime = std::min(startTime, prevLoadTime_);
}
if (archiveLimit_ == std::chrono::sys_days {})
{
archiveLimit_ = std::chrono::ceil<std::chrono::days>(startTime);
}
auto updatedFiles = warningsProvider->LoadUpdatedFiles(startTime);
// Store the load time and reset the load history duration