Use the CiviCRM queue for processing the file downloads
Currently the "fetch" function runs when we access the Extensions page, or the Localization Settings form. It checks the timestamps on files in order to not re-download all the time.
Considering sites typically have over 15-20 extensions (including core extensions), the download process can be quite slow and could cause timeouts. This seems like a good candidate for using the queue system.
Can the queue system can be used from the API? (prepare and run a queue)