Tip: Tui Updates

The Tui (terminal user interface) is a command line version of the Gui. You can use it to monitor and control your workflows.

There has been a major update to Tui at Cylc 8.3.0:

  • Larger workflows will no longer cause Tui to time out.
  • You can now browse all your workflows including stopped workflows.
  • You can monitor multiple workflows at the same time.
  • The workflow and job logs are now available from within Tui.

Tui is a built-in utility, start it on the command line:

$ cylc tui

4 Likes

Is it possible to monitor workflows of other users via the TUI? Or would it be much work to make that possible?

Cylc Tui connects directly to the scheduler, so can only connect to your own workflows.

All multi-user functionality comes from the Cylc UI Server (which powers the GUI).

It is not impossible for Tui to get its data from a Cylc UI Server, however, this would require a way for a command line application to authenticate via Jupyter Hub to other user’s UI Server instances. At present no such mechanism exists, but if that bridge can be crossed, then Tui could potentially do this.

You can access other user’s info by having the user create a jupyterhub token at {jupyterhub_url}/hub/token, then use that token to query a user’s ui server if serverside permissions have been set appropriately:

requests.post(
    f"{jupyterhub_url}/user/{user}/cylc/graphql",
    headers = {'Authorization': f'token {jupyterhub_token}'},
    json = {'query': '{ workflows { id } }'}
)