[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: Caching calls to download-to-store?
From: |
Ricardo Wurmus |
Subject: |
Re: Caching calls to download-to-store? |
Date: |
Thu, 28 Nov 2024 11:21:34 +0100 |
User-agent: |
mu4e 1.12.7; emacs 29.4 |
Ludovic Courtès <ludo@gnu.org> writes:
> Hi,
>
> Ricardo Wurmus <rekado@elephly.net> skribis:
>
>> the CRAN updater downloads every upstream archive three times. The
>> importer memoizes calls to the download procedure, but one download that
>> is out of reach is the very first.
>>
>> It is triggered by package-update/url-fetch in (guix upstream). It uses
>> download-to-store, which will unconditionally fetch whatever URL it is
>> given.
>
> Why three times (and not two)?
Not entirely sure, but it's tracked here
https://issues.guix.gnu.org/48792
https://issues.guix.gnu.org/44256
I'm already caching some downloads in the updater, but it's not always
working as intended. (I have an unfinished fix for this locally.)
>> I would very much like to parameterize download-to-store, so that we can
>> optionally cache the results of its invocation.
>
> I’m not sure exactly how to do that, but why not.
>
> Another option would be to register GC roots (or mere symlinks) in
> ~/.cache for things that are downloaded, and then to use
> ‘If-Modified-Since’ plus some default TTL to determine whether to
> re-download things.
That's a good idea. Currently, we download to arbitrary temporary
directories. The downloads performed by importers vanish immediately.
--
Ricardo