Skip to content
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

Skip mode deconflict #70

Merged
merged 33 commits into from
Nov 28, 2024
Merged

Conversation

MetRonnie
Copy link

No description provided.

`json.dumps()`/`json.loads()` are relatively slow (~1us). But these functions are likely to be called many times with `flow={1}`.
- Update data store with changed prereqs
- Don't un-queue downstream task if:
  - the task is already preparing
  - the task exists in flows other than that being removed
  - the task's prereqs are still satisfied overall
- Remove the downstream task from the pool if it no longer has any satisfied prerequisite tasks
This will allow it to call the method to kill submitted/running tasks
Plus ensure traceback for internal errors when cleaning gets logged in verbose mode
@MetRonnie MetRonnie mentioned this pull request Nov 28, 2024
8 tasks
Comment on lines -655 to +657
for p_name in set(platform_names) - set(JOBLESS_MODES):
for p_name in set(platform_names):
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

The jobless logic here is not needed with my change to deep copy the localhost platform above

Comment on lines -665 to -668
# Map jobless modes to localhost.
ret.setdefault('localhost', []).extend(
{'name': mode} for mode in JOBLESS_MODES
)
Copy link
Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Ditto

to_kill.append(itask)
if jobless:
Copy link
Author

@MetRonnie MetRonnie Nov 28, 2024

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Note jobless is really is_sim_mode, see (above):

jobless = self.get_run_mode() == RunMode.SIMULATION

This doesn't matter because you can't kill a skip mode task as it goes straight from waiting to succeeded

@wxtim wxtim merged commit 82a39b5 into wxtim:feature.skip_mode Nov 28, 2024
25 of 26 checks passed
@MetRonnie MetRonnie deleted the skip-mode-deconflict branch November 29, 2024 11:04
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

3 participants