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_ {};
@ -214,9 +215,13 @@ void TextEventManager::SelectTime(
const auto dates = {today, yesterday, tomorrow};
for (auto& date : dates)
{
if (p->archiveLimit_ == std::chrono::sys_days {} ||
date < p->archiveLimit_)
{
p->LoadArchives(date);
}
}
}
void TextEventManager::Impl::HandleMessage(
@ -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