Hey folks! I discovered hifitime recently, through another project called Outfit. It relies on the Ut1Provider, which itself relies on files downloaded from JPL's EOP2 File Archive.
Issue is, last Friday that archive was completely unresponsive for a while (multiple hours). So, I couldn't start my program. Moreover, the file that the Ut1Provider needs is only updated every 24 hours, but it gets fetched every time the provider gets instantiated! This significantly slows down any piece of code that relies on it, at least at startup.
So, I'd like to suggest 2 things:
- First, some caching. That file is updated only once a day, there's no need to re-download it again and again. The cache could be invalidated every 24 hours, and the new file downloaded then.
- As long as we can't grab the new EOP2 file, we can just keep using the cached one and perhaps just log a warning, OR have some argument when building the provide where one can specify if the cache SHOULD always be up-to-date (i.e. we don't tolerate download failures) in which case an error is thrown rather than a warning?
PS: These suggestions came up when discussing with @FusRoman's, so shout out to him :)
Hey folks! I discovered
hifitimerecently, through another project called Outfit. It relies on theUt1Provider, which itself relies on files downloaded from JPL's EOP2 File Archive.Issue is, last Friday that archive was completely unresponsive for a while (multiple hours). So, I couldn't start my program. Moreover, the file that the
Ut1Providerneeds is only updated every 24 hours, but it gets fetched every time the provider gets instantiated! This significantly slows down any piece of code that relies on it, at least at startup.So, I'd like to suggest 2 things:
PS: These suggestions came up when discussing with @FusRoman's, so shout out to him :)