a) display of workflow disappears quickly in browser window as soon as workflow is finished. Is there any way to force it to get displayed there forever?
b) any way to show arrows pointing one task to another
c) changing the colour, when task is completed e.g. prefer green, when executing, blue when completed, red when aborted
d) enclosing taskname in a given shape e.g. rectangle
e) once workflow is completed, why it does NOT restart same workflow after clicking play button
f) right click on task name, display a menu to do various chores such as resubmit the task, look at the job listing of task etc
g) is cylc gui only web based or also support via x-window?
h) side note, what markup language is used in creating these issues e.g. was not able to create a new line..tried Enter, shift-enter, cntl-enter
Iâll address point h) first: by âcreate these issuesâ I presume you mean posting messages to this forum. Itâs just basic markdown, but you can use HTML too. When replying to a post youâll see this before you start typing:
I just noticed that on posting a new message (as opposed to replying to an existing one) we having configured Discourse to add some boilerplate advice inside an HTML comment, and unfortunately that overrides the above generic format advice ⌠so I think we should tweak that.
As a forum admin, I edited your post to make the bullet points work.
No, the GUI is for monitoring and controlling the active window of live workflows, and once a workflow has run to completion its scheduler shuts down, so there is no running process to feed data to the GUI anymore (your UI Server might still serve the last information it had on the workflow, while it is still up ⌠not sure of that at the moment).
The GUI does still show the workflow as installed and stopped, in the left panel.
The record of the workflow run still exists in the run directory. The cylc review application is a great way to browse and search workflow history, but we havenât promoted that widely yet for Cylc 8 because cylc review has only just been migrated to Python 3 so for the moment you have to run it from a containerized version of the last Cylc 7 release. The next Cylc 8 minor release will bring the new cylc review with it.
Yes, open a graph view tab from the top right Add View control.
In the Dashboard â Settings page youâll see 3 built-in colour themes: standard, monochromatic, and color-blind. I think the team decided not to support full theme customization because (a) we had many much higher priorities; and (b) itâs easier for users at a site to support each other when their colors all have the same meaning. (However thatâs probably not final, if many users start asking for custom theming).
No.
It DOES do that. Youâll see the workflow status change to running, and the workflow will resume from where it got to before shutdown.
I suspect your workflow had already run to completion, so there will be no tasks displayed because the scheduler knows there are no more to run. In that case, a triangle WARNING icon will appear next to the workflow in the panel, and the popup text will say âThis workflow already ran to completion. To make it continue, trigger new tasks before the restart timeout.â.
To do that, you can trigger new tasks, or retrigger old tasks, via the workflow dropdown control menu at the top - if you really need to do that and you understand what it means to continue an already-completed workflow.
I think you probably mean, why does it not run my completed workflow again from the start? In Cylc 8, you need to install a new instance of the workflow to do that. If you play an existing (installed) stopped workflow it will always restart from its prior state (or start from scratch if it has not been run at all yet). Rerunning the same instance again from scratch would overwrite existing run directory content - dangerous!
LEFT-click on a task to get the task control menu. Right click is standard for the browser menu.
Only web based. Developing a GUI for Cylc is a massive job, and the overwhelming consensus was for a web UI.
Thanks @hilary.j.oliver for detailed answers.
-display of workflow disappears quickly in browser windowâŚ
agree with the explanation of closing the workflow display as soon as workflow is finished. My intention here is that suppose you want to give live demo of workflow, and you need some time to explain each and every task to audiencesâŚthat needs your workflow stay on screen for sometime. Any suggestion? May be add a feature to cylc, which takes screen shot every few seconds, when workflow is running, make a movie of these images and replay it. cylc graph gives only static image of workflow, while I am interested to show all tasks in progress.
any way to show arrows pointing one task to another âŚtree view shows task in progress, while graph shows static picture of workflow, if I recall correctly.
restarting the workflow ..now you have to clean working directory, reinstall workflow again, and then play. You said âRerunning the same instance again from scratch would overwrite existing run directory content - dangerous!ââŚagree, but can it be modified with some configuration setting so that it can be overwritten, when user knows, what he/she is doing.
right click on task name to restart a task⌠I guess, this is possible only, when workflow is running, which is very quick period. My question is, how can I restart my workflow starting from aborted task (without cleaning workdirectory, install etc.) e.g. I have workflow of total 5 tasks in sequence, my 3rd task failed, now I go back and fix my script for aborted task, and then I want to restart my workflow from 3rd task. What will be the steps to do it?
My intention here is that suppose you want to give live demo of workflow, and you need some time to explain each and every task to audiencesâŚthat needs your workflow stay on screen for sometime
If you want to slow your workflow down for an audience, try something like this:
[runtime]
[[root]]
# slow the workflow down for demo purposes
post-script = sleep 20
You can also pause the workflow, or hold specific tasks within it to allow you to take more control over exact timings.
We sometimes use Cylcâs simulation mode for demonstrating workflows, with this you can define how long each task should run for, and simulate failures.
any way to show arrows pointing one task to another
Yes, open the âgraph viewâ (âadd viewâ â âgraphâ).
Restarting the workflow ..now you have to clean working directory, reinstall workflow again
If you want to re-run a workflow from scratch, re-install it rather than restart it, e.g cylc vip.
Each installation goes into a numbered directory to keep them separate and avoid the potential for data pollution. No need to mess with the previous run in order to kick off a new one, and you can have multiple workflow runs going at the same time.
You can clean up all stopped runs by running cylc clean <workflow-name>.
However, itâs generally more efficient to avoid re-running the same workflow over-and-over again. Take a look at the cylc vr command, this allows you to edit your workflow, then re-install it. You can then re-trigger any tasks you like without having to restart it.
I have workflow of total 5 tasks in sequence, my 3rd task failed, now I go back and fix my script for aborted task, and then I want to restart my workflow from 3rd task. What will be the steps to do it?
The easiest way is to trigger them:
There is no need to stop or restart the workflow in order to do this. Tasks can still be triggered, even if they are no longer visible, you can trigger tasks by name, family or cycle, e.g, cylc trigger my-workflow//1 would re-run all tasks in cycle 1.
If your workflow has shut down automatically, restart it, then trigger the tasks.
-for extending display time, [[root]]/post-script worked; just curious, root is built in cylc task, and post-script is reserved keyword to define the script body or script name. I guess this task is run at the last, when user defined tasks have finished.
-useful to know other cylc commands in order to better handle workflow/tasks.
-Just curious, when tasks are run in a loop, is cylc do some automatic parallelisation over the loop index. For below example, I was thinking, all loop indexes will run in serial mode i.e. when indx=1 finish, then indx=2 should start, but I saw tasks belonging to various indexes starting at the same time.
```
[scheduling]
initial cycle point = 1
final cycle point = 6
cycling mode = integer
[[graph]]
P1 = task1 => task2
[runtime]
[[task1]]
script = sleep 5 && echo " processing data for task1 for cycle point: ${CYLC_TASK_CYCLE_POINT}"
[[task2]]
script = sleep 5 && echo " processing data for task2 for cycle point: ${CYLC_TASK_CYCLE_POINT}"
[[root]]
No, [runtime] is an inheritance hierarchy for sharing task configuration efficiently. Settings in the root family are inherited by all tasks, but you can define custom families too.
The pre-script, script, and post-script config items define chunks of scripting that get concatenated together to make the (user-defined part of the) final job script for the task. This allows some basic sharing of script chunks through the inheritance hierarchy - such as adding a sleep statement to slow down all tasks (or rather, all tasks that donât override the root pre-script value).
See cylc help all
Cylc does not have a cycle loop. Instead it unrolls the cycle loop(s) to create a monolithic non-cycling workflow composed of repeating tasks which removes the artificial barrier between cycles. If any of your tasks depend on tasks from previous cycles, just express those inter-cycle dependence properly in the graph and Cylc will run tasks as concurrently as the dependencies allow across as well as within cycles. And if there are no inter-cycle dependencies at all, then it will run all the cycles at once, out to the configurable runahead limit. This makes Cylc uniquely efficient for cycling systems running off the clock, or to catch up from delays in real time workflows.