-
Notifications
You must be signed in to change notification settings - Fork 11
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Enhance Concurrency and Cancellation Handling in Job Execution #20
Conversation
A new `TestCancellationJob` class has been added to simulate a long-running job and handle job cancellation. Everything was made to support async structures to better support error handling and cancellation support. Added preliminary parallel execution support.
… beyond the loop scope
@linkdotnet how do you want contributions to be made? I see code being pushed directly to main, do you have a preference? |
@falvarez1 Thanks for providing that quality PR! As I did mostly work alone I directly merged to I do see some overlap with #21 - is this PR still "valid"? Or does it make sense to review and merge #21 first and see which bits are still missing? |
Since #21 piggybacks on this one I suppose this one is unnecessary. I probably should have worked on the same branch but wasn't sure about your contributions preferences. |
One thing to note, the Tests are broken at the moment. I didn't spend any time fixing them because I just wanted to have you review the design changes first. |
That is fine - they can be fixed afterward. |
Closing this PR as it is superceded by #21. |
Description:
This Pull Request introduces significant enhancements to how concurrency and cancellation are managed within job executions. Key changes include:
These changes aim to make the job execution process more efficient, responsive, and reliable, particularly under high load and in complex scheduling scenarios.
Future work, the concurrency control responsibilities still need to be moved into the JobExecutor , this shift will centralize how parallel executions are managed, simplifying maintenance and extending capabilities.