Project

Profile

Help

Task #2951

closed

Add the pulpcore.plugin.download.asyncio package with asyncio based downloaders

Added by bmbouter over 7 years ago. Updated almost 5 years ago.

Status:
CLOSED - CURRENTRELEASE
Priority:
High
Assignee:
Category:
-
Sprint/Milestone:
Start date:
Due date:
% Done:

100%

Estimated time:
Platform Release:
Groomed:
No
Sprint Candidate:
Yes
Tags:
Sprint:
Sprint 25
Quarter:

Description

The way we offer concurrency in the plugin API is with the Batch() object which is built on code that we have to carry and maintain. Concurrent I/O (such as concurrent downloads) is a great fit for asyncio and we should:

  • Create a ConcurrentHTTPDownloader which is designed to be managed by an asyncio event loop created by the plugin writer. This is described some on the wiki as the ConcurrentDownloader.
  • Delete the Batch() object and it's supporting machinery. I think that is effectively everything in batch.py
  • Add a ContentUnitDownloader to the download API, which is described here as the Content Unit Downloader

Also available in: Atom PDF