Refactor #4346
closedSimplify the plugin api for writing stages
0%
Description
Problem¶
With the invent of content with futures, that are able to feed back in earlier stages of the pipeline, the need came up for some sort of flow control in the batching of content process to prevent deadlocks [0].
To keep full authority over any future implementation of this flow control, i suggest to refactor the stages api with a simple but strict definition, what the implementation of a stage must do / can rely on.
Solution¶
- A stage must override
async def run(self):
. - In
run
, items can be retrieved through eitherself.items
orself.batches
iterator. - ..., items must be forwarded by
self.put
.
Further discussion can be found here [1].
[0] https://pulp.plan.io/issues/4296
[1] https://github.com/pulp/pulpcore-plugin/pull/35
Updated by gmbnomis almost 6 years ago
+1 to the alternative using run
; one thing less that stage writers may forget (calling finish
)
Updated by bmbouter almost 6 years ago
+1 also to the run approach.
It looks like that is the current code pushed to this PR https://github.com/pulp/pulpcore-plugin/pull/35/files is that right? Does that mean https://github.com/pulp/pulpcore-plugin/pull/35/files is ready for review?
Updated by mdellweg almost 6 years ago
Yes, that is the actual version (i just could not wait.). Ready for review.
Updated by bmbouter almost 6 years ago
- Status changed from NEW to POST
- Assignee set to mdellweg
PRs available here: https://github.com/pulp/pulpcore-plugin/pull/35/ and here https://github.com/pulp/pulp_file/pull/155/
Added by dalley almost 6 years ago
Added by dalley almost 6 years ago
Revision 5ed0431d | View on GitHub
Adapt to changes in the stages API
Updated by bmbouter over 5 years ago
- Description updated (diff)
- Status changed from POST to MODIFIED
All the work for this is done so I'm moving to MODIFIED and rewriting with its final solution
Updated by bmbouter almost 5 years ago
- Status changed from MODIFIED to CLOSED - CURRENTRELEASE
Adapt to Plugin API changes
re #4346 https://pulp.plan.io/issues/4346