You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@buildstream.apache.org by GitBox <gi...@apache.org> on 2022/07/27 05:41:03 UTC

[GitHub] [buildstream] gtristan commented on pull request #1706: simplify jobs

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: commits-unsubscribe@buildstream.apache.org

For queries about this service, please contact Infrastructure at:
users@infra.apache.org