Not really. A web UI was the almost-universal preference, for a whole bunch of reasons, and developing more than one full-blown GUI for a system like Cylc would be a BIG job (noting that TUI will actually fit that bill once sufficiently performant and enhanced a bit).
I’ve done a bit of testing myself with the example as posted by @oliver.sanders above (tweaked a bit, see below).
You’ve probably seen comments that the Cylc 8 scheduler is much more efficient than Cylc 7, because it only needs to manage “active” tasks. And the scheduler does indeed handle this example fine. However it is still a beast of a workflow from the UI perspective. We’ve designed the UI to display a window of n (default 1) graph-edges around active(*) tasks, which usually is very efficient in terms of not displaying tasks that are far removed from the current action, but in this case, with 1000s of outputs leading out from the active tasks, the default n=1 window still contains a huge number of tasks.
My suggestions for the moment:
- consider changing the workflow structure artificially with some dummy tasks, to reduce the n=1 window size
- change the default view (UI preferences page) to the paginated table view. The amount of data in the browser will be the same, but the job of displaying it will be easier
- also consider filtering by task state, to display only the active tasks
- set the n-window extent to n=0 (UI workflow drop-down menu item). The UI will only get data about the active tasks. Both the data volume and display work will be massively reduced. The UI will no longer show what tasks come next until they enter the active window, but it will still fulfill the primary job of a live monitoring and control system. Note that changing the n-window extent does not have an instant effect. It will change when the next data update gets pushed from the UI Server.
[(*) “active” means literally active, plus tasks that are ready to run by the task graph but held back for other reasons such as Cylc queue, task hold, or xtrigger]