gtristan commented on PR #1706:
URL: https://github.com/apache/buildstream/pull/1706#issuecomment-1196287855

   In general I'm not fond of this refactor.
   
   The reason why `ElementJob` is separate from the abstract `Job` class is 
because not all jobs are necessarily related to processing an element in the 
pipeline. Originally we had the *cache cleanup* job which was an example of 
this but has since been removed.
   
   The way the scheduler manages *resources* (as in "processing", 
"downloading", "uploading") for which the user configuration can specify how 
much of these are allowed to occur in parallel is an API promise, I would say 
that any activity which buildstream is potentially processing and parallelizing 
should be handled by the scheduler and should be adhering to these resource 
restrictions.
   
   While it is true that we do not *currently* have a non element processing 
job type, I'm not convinced that we will never have one, and it worries me to 
not have this design already sorted out and in place in case that other 
activities present themselves in the future (the danger being that implementors 
just bypass the scheduler and implement their own threads without conforming to 
the job pattern).
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]

Reply via email to