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.
Overview
As a step towards an asyncio-compatible supervisor, this change sets up some standard datatypes that the operations layer in Mephisto can use. This merges the
TrackedRun
andJob
concepts into a singularLiveTaskRun
which can track all of the operations instances relevant to a task run.As far as the motivation goes, there is no clear way to fully remove the coupling between the different parts of the supervisor (in that different parts need to invoke functionality of each other), however I think it still makes sense to group the types of functionality into the separate abstractions. As such, each can then make calls to each other through a specified API, and we can gradually upgrade parts of that to be async.
Implementation
Creates the
LiveTaskRun
dataclass, which mergesTrackedRun
andJob
, and then updates a bunch of callsites to use the new functionality.Testing
Automated tests are passing