Cylc 项目教程
2024-09-12 07:24:56作者:龚格成
1. 项目目录结构及介绍
Cylc 项目的目录结构如下:
cylc-flow/
├── doc/
│ ├── CONTRIBUTING.md
│ ├── INSTALL.md
│ ├── README.md
│ └── ...
├── etc/
│ ├── ...
├── test/
│ ├── ...
├── cylc/
│ ├── flow/
│ │ ├── __init__.py
│ │ ├── scheduler.py
│ │ └── ...
│ └── ...
├── CHANGES.md
├── COPYING
├── MANIFEST.in
├── pyproject.toml
├── setup.cfg
├── setup.py
└── tox.ini
目录介绍
- doc/: 包含项目的文档文件,如贡献指南、安装指南和README文件。
- etc/: 包含项目的配置文件和示例文件。
- test/: 包含项目的测试代码。
- cylc/flow/: 包含项目的主要代码,如调度器和其他核心功能。
- CHANGES.md: 记录项目的变更日志。
- COPYING: 包含项目的许可证信息。
- MANIFEST.in: 用于指定在打包时包含的文件。
- pyproject.toml: 用于定义项目的构建系统和其他元数据。
- setup.cfg: 包含项目的配置信息。
- setup.py: 用于安装项目的脚本。
- tox.ini: 用于定义项目的测试环境。
2. 项目启动文件介绍
Cylc 项目的启动文件主要位于 cylc/flow/ 目录下。以下是一些关键的启动文件:
- scheduler.py: 这是 Cylc 调度器的核心文件,负责管理和调度工作流中的任务。
- init.py: 这是 Python 包的初始化文件,通常包含包的初始化代码。
启动步骤
- 安装 Cylc: 使用
conda或pip安装 Cylc。conda install cylc-flow - 启动工作流: 使用
cylc play命令启动工作流。cylc play <workflow-id>
3. 项目的配置文件介绍
Cylc 项目的配置文件主要位于 etc/ 目录下,以下是一些关键的配置文件:
- flow.cylc: 这是定义工作流的配置文件,包含任务和依赖关系。
- setup.cfg: 包含项目的配置信息,如安装路径、依赖项等。
- tox.ini: 用于定义项目的测试环境。
配置文件示例
flow.cylc
[scheduler]
allow implicit tasks = True
[scheduling]
[[graph]]
R1 = """
buy_ingredients => make_dough
pre_heat_oven & make_dough => bake_bread
bake_bread => sell_bread & clean_oven
"""
setup.cfg
[metadata]
name = cylc-flow
version = 8.3.0
description = Cylc: a workflow engine for cycling systems.
author = NIWA & British Crown (Met Office) & Contributors
license = GPL-3.0
tox.ini
[tox]
envlist = py37,py38
[testenv]
deps =
pytest
commands =
pytest
通过以上配置文件,可以定义和启动 Cylc 工作流,并进行相应的测试和部署。
登录后查看全文
热门项目推荐
kernelopenEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。C0114
let_datasetLET数据集 基于全尺寸人形机器人 Kuavo 4 Pro 采集,涵盖多场景、多类型操作的真实世界多任务数据。面向机器人操作、移动与交互任务,支持真实环境下的可扩展机器人学习00
mindquantumMindQuantum is a general software library supporting the development of applications for quantum computation.Python059
PaddleOCR-VLPaddleOCR-VL 是一款顶尖且资源高效的文档解析专用模型。其核心组件为 PaddleOCR-VL-0.9B,这是一款精简却功能强大的视觉语言模型(VLM)。该模型融合了 NaViT 风格的动态分辨率视觉编码器与 ERNIE-4.5-0.3B 语言模型,可实现精准的元素识别。Python00
GLM-4.7-FlashGLM-4.7-Flash 是一款 30B-A3B MoE 模型。作为 30B 级别中的佼佼者,GLM-4.7-Flash 为追求性能与效率平衡的轻量化部署提供了全新选择。Jinja00
项目优选
收起
deepin linux kernel
C
27
11
OpenHarmony documentation | OpenHarmony开发者文档
Dockerfile
487
3.61 K
Ascend Extension for PyTorch
Python
298
332
暂无简介
Dart
738
177
openEuler内核是openEuler操作系统的核心,既是系统性能与稳定性的基石,也是连接处理器、设备与服务的桥梁。
C
272
113
本项目是CANN提供的数学类基础计算算子库,实现网络在NPU上加速计算。
C++
865
467
仓颉编译器源码及 cjdb 调试工具。
C++
149
880
React Native鸿蒙化仓库
JavaScript
296
343
🔥LeetCode solutions in any programming language | 多种编程语言实现 LeetCode、《剑指 Offer(第 2 版)》、《程序员面试金典(第 6 版)》题解
Java
65
20
Dora SSR 是一款跨平台的游戏引擎,提供前沿或是具有探索性的游戏开发功能。它内置了Web IDE,提供了可以轻轻松松通过浏览器访问的快捷游戏开发环境,特别适合于在新兴市场如国产游戏掌机和其它移动电子设备上直接进行游戏开发和编程学习。
C++
52
7