Cycling Workflow Orchestration:
the Cylc Workflow Engine
Hilary Oliver
NIWA
Why Cylc? | |
What's new? (Cylc 8) | |
Cylc 8 preview demo |
Website https://cylc.org |
|
Developer chat and VC https://riot.im/app/#/group/+cylc:matrix.org |
|
User discussion forum cylc.discourse.group |
|
Code & development hub https://github.com/cylc |
research
real-time
cycling
seamless
(meta-scheduling)
transition
simulated
time
cycling
operations
Production ready | |
Cycling: date-time & arbitrary | |
Job retry on failure | |
Restart from checkpoint | |
Distributed architecture |
Live monitoring | |
Manual intervention | |
Simulation mode | |
External triggering | |
Open Source GPLv3 |
Smaller workflows are very easy!
Efficient programmatic generation of large and complex workflows
Task config inheritance | |
Task parameter expansion | |
General Pythonic templating |
System Architecture
The road to
Cylc 8!
cylc-7.8.4 - current stable production system
Single point of access | |
Site identity management integration | |
Fine-grained authorization in WFS | |
In-browser UI, with no need for:
|
|
Retire suite-specific passphrase |
Server and CLI |
2
|
⟶ |
3
|
Data & network layer |
⟶ |
& Protocol Buffers |
|
Web framework |
⟶ | ||
Front-end |
⟶ | ||
Documentation |
⟶ |
pip install cylc-flow
)
pip install cylc-uiserver
)
conda install cylc
Server program & CLI. Mostly unchanged, but:
Serves the UI to the browser, and:
Javascript with Vue.js
cylc gui, gscan
)