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

Set n-window extent: default and current value (non-GUI) #6377

Open
hjoliver opened this issue Sep 19, 2024 · 4 comments
Open

Set n-window extent: default and current value (non-GUI) #6377

hjoliver opened this issue Sep 19, 2024 · 4 comments
Assignees
Labels
could be better Not exactly a bug, but not ideal. small
Milestone

Comments

@hjoliver
Copy link
Member

hjoliver commented Sep 19, 2024

We're getting quite a few requests for this, and it would be easy to do (and of course, we do plan to do it ... this probably features in an existing issue somewhere, but I failed to find it).

Currently the default is fixed (n=1) and users can only change it via the GUI.

Users need to be able to:

  • configure the default value
  • change the current value via the CLI and TUI

The appropriate (or at least the maximum appropriate) n-window extent is kinda workflow-dependent, and possibly user-dependent (e.g. for users who typically only run small workflows), so I think it would make sense to set the default n-window extent via both a global and workflow config item.

@hjoliver hjoliver added this to the 8.x milestone Sep 19, 2024
@hjoliver hjoliver added could be better Not exactly a bug, but not ideal. small labels Sep 19, 2024
@dwsutherland dwsutherland self-assigned this Sep 19, 2024
@oliver-sanders
Copy link
Member

oliver-sanders commented Sep 23, 2024

The n-window extent is intended to be a client (GUI, Tui) property, it was never intended to be a scheduler property, so configuring it there doesn't really make sense. The n-window generation code needs to be moved out of cylc-flow into cylc-uiserver (higher priority), but we haven't found the time to do this yet. With current memory management issues at the UIS allowing higher values to be configured by default is a bit of an issue.

@ColemanTom
Copy link
Contributor

ColemanTom commented Sep 24, 2024

I don't know that you need to be able to change the displayed n-window from CLI, but, it would be useful to be able to do various non-UI commands, that rely on the n-window being set, without having to do things via the UI. I think cylc show for example relies on the UI n-window. So, being able to do cylc show --n-window=3 ... as an example I think would make sense.

@hjoliver
Copy link
Member Author

The n-window generation code cylc/cylc-uiserver#464 (higher priority), but we haven't found the time to do this yet.

Yes but I'm concerned that we're unlikely to get this done any time soon. It is quite a big change, and there are reasons why the datastore ended up in the scheduler in the first place (as a rather long term interim measure!). Plus, as you note, we need to put effort into UIS efficiency before attempting that.

@hjoliver
Copy link
Member Author

Trying to think of some way forward that would work now and in the future.

It's quite important to have a workflow-specific default n-window extent. Some users run small and large workflows. For large workflows it is bad to have a large default N, but for small ones it is annoying to have a small default that you just change up immediately every time. Even saving workflow-specific N value changes in the client is not ideal, because it's more of a workflow thing than a client thing (is this workflow sufficiently big that we should have a very small window by default, or not?).

Having default n-window extent as a workflow config item doesn't necessarily imply configuring the scheduler. It could be treated as workflow metadata that determines the initial window extent in the scheduler (now) or in the UIS (future).

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
could be better Not exactly a bug, but not ideal. small
Projects
None yet
Development

No branches or pull requests

4 participants