Pulp3 Plugin Brainstorming » History » Revision 4
Revision 3 (bmbouter, 08/15/2017 08:02 PM) → Revision 4/7 (dkliban@redhat.com, 08/21/2017 04:57 PM)
----- Content Unit Creator - Downloads and creates objects - Processes content units in slices - Determines which content units in a slice are already present in Pulp - For immediate download policy, determines which artifacts in a slice are already present in Pulp - Downloads all artifacts for each content unit - Saves all necessary units to the db after downloading all artifacts - Handles race conditions Race condition handling for db around object creation - Transactional support around unit creation to ensure always creating a complete content unit or none open questions: should this associate each unit as its made? ----- Content Unit Downloader - Parallelized downloads, but it emits a content unit only when all files are downloaded - manages the asyncio loop for you - abstracts the collecting of downloads for a given content unit - driven by a simple loop ----- Concurrent Downloader - Downloads any number of artifacts in parallel - provides digest and size validation - yields a file that is written to a temp area and all digests which were computed during download - you provide the asyncio loop - constrains the number of connections - share resources such as sessions,connection pools and auth tokens ----- Synchronous Downloader - download a single file synchronously - blocking call so one download at a time - provides digest and size validation - yields a file that is written to a temp area and all digests which were computed during download -----