generated from aboutcode-org/skeleton
-
-
Notifications
You must be signed in to change notification settings - Fork 38
Closed
Description
Given a PURL, I would like to have a new API endpoint to register "interest" in this PURL. Once this is "registered", this PURL should continuously be "watched" for updates to this Package URL (all versions), polling for new versions on schedule, like on daily, or weekly basis.
When a new version is discovered, we should run the steps to collect metadata and trigger new scancode pipeline runs on each update.
Optionally we could also work from a PURL and have a flag to expand to either the previous and next versions, or to all versions of a PURL, or all the future versions.
The solution could include these elements:
- Create the models to store the registration for interest in a PURL. This is tracked in Watch for packages (model and implementation) #244 #271
- Create a REST API end-point that accepts a PURL input with a version and registers/stores interest in this PURL. Also in Watch for packages (model and implementation) #244 #271
- Create a mechanism to schedule jobs that run periodically in the context of the PurlDB using a task scheduler (such as RQ) in order to eventually watch for new versions This is in Watch for packages (model and implementation) #244 #271
- Create function(s) to collect the new package versions of registered PURLs on a regular basis (avoiding collisions on DB duplicates that are already collected). This is in Watch for packages (model and implementation) #244 #271 and in FetchCode
- Create function(s) to trigger new background runs to collect collect metadata and trigger new scancode runs on new versions if requested. Watch for packages (model and implementation) #244 #271
- Extend to more versions of a PURL Create function to expand data collection to more versions of a PURL. #368
- Create management command to watch for PURLs Add management command to watch all PURLs #268
Metadata
Metadata
Assignees
Labels
No labels