-
Notifications
You must be signed in to change notification settings - Fork 2
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
Introduce Commands and CommandHandler in the StreamingJobMaintenanceService #74
Merged
Conversation
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Coverage after merging job-command-handlers into main will be
Coverage Report
|
Coverage after merging job-command-handlers into main will be
Coverage Report
|
adelinag08
approved these changes
May 16, 2024
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.
This suggestion is invalid because no changes were made to the code.
Suggestions cannot be applied while the pull request is closed.
Suggestions cannot be applied while viewing a subset of changes.
Only one suggestion per line can be applied in a batch.
Add this suggestion to a batch that can be applied as a single commit.
Applying suggestions on deleted lines is not supported.
You must change the existing code in this line in order to create a valid suggestion.
Outdated suggestions cannot be applied.
This suggestion has been applied or marked resolved.
Suggestions cannot be applied from pending reviews.
Suggestions cannot be applied on multi-line comments.
Suggestions cannot be applied while the pull request is queued to merge.
Suggestion cannot be applied right now. Please check back later.
Part of #47
This Pull Request changes how the
StreamingJobMaintenanceService
handles Job update events. In previous versions of the code, theOnJobEvent
method that handles Job events performed invocations of dependent services to run actions in response to Job events. This led to code maintainability problems: if handling an event requires any additional context, we need to chain tasks deeply in the event handler.Now, this service only converts the job events into instances of the
KubernetesCommand
class, without requesting any context using asynchronous methods. The actual handling of these events is performed by implementations of theICommandHandler
interface that are injected into this service.This PR is the first in series of pull requests related to event handlers refactoring.
Scope
Implemented:
KubernetesCommand
and it's implementationsSetAnnotationCommand
,StreamingJobCommand
andUpdateStatusCommand
Additional changes:
Deconstruct
method for theIStreamDefinition
interface for pattern matching.OnJobAdded
handler since we don't use it.Checklist
latest
commit.