Task #1231
Updated by jortel@redhat.com about 9 years ago
Catalog model object: Unique Index (path, importer_id) Catalog: * path A Is: <unit_id>/<path_inside_unit> * unit_id The unit storage path. ID * plugin_id An importer_id The importer ID * repo_id The repo ID * url The download URL * checksum The checksum and type used to verify downloaded file. Is: <algorithm>:<digest> <type>:<checksum> * data Misc data (dict) used by the importer. <pre> Flow for when a GET request for a file not on disk. The symlink is there but nothing at the target for the symlink. - Derive the path from the incoming request (symlink information) - Find catalog entries for unit by path - If no entries matched - 404 - For each entry - if importer or repo does not exist, continue - When a matching entry is found: - get plugin - get downloader config from the plugin - build downloader_id hash from config - get/build downloader from streamer downloader pool - feed download request into downloader input queue - If all entries return 404 then 404 the file - If download succeeds, put file into final location and remove catalog entries for the path </pre>