Cromwell 开源项目使用教程

Cromwell 开源项目使用教程

cromwellScientific workflow engine designed for simplicity & scalability. Trivially transition between one off use cases to massive scale production environments项目地址:https://gitcode.com/gh_mirrors/cr/cromwell

1. 项目的目录结构及介绍

Cromwell 项目的目录结构如下:

cromwell/
├── CHANGELOG.md
├── CONTRIBUTING.md
├── Dockerfile
├── LICENSE
├── README.md
├── RELEASE_PROCESS.md
├── RELEASE_NOTES.md
├── build.sbt
├── core
│   ├── src
│   │   ├── main
│   │   └── test
├── database
│   ├── src
│   │   ├── main
│   │   └── test
├── docker-compose.yml
├── docs
│   ├── img
│   ├── src
│   │   ├── main
│   │   └── test
├── engine
│   ├── src
│   │   ├── main
│   │   └── test
├── project
│   ├── build.properties
│   ├── plugins.sbt
├── scripts
│   ├── docker-compose
│   ├── jenkins
│   ├── release
│   ├── test
├── server
│   ├── src
│   │   ├── main
│   │   └── test
├── services
│   ├── src
│   │   ├── main
│   │   └── test
├── womtool
│   ├── src
│   │   ├── main
│   │   └── test

主要目录介绍

  • core/: 核心模块,包含 Cromwell 的核心功能代码。
  • database/: 数据库模块,包含与数据库交互的代码。
  • docs/: 文档模块,包含项目的文档和图片。
  • engine/: 引擎模块,包含工作流引擎的代码。
  • project/: 项目配置模块,包含 SBT 构建工具的配置文件。
  • scripts/: 脚本模块,包含各种自动化脚本。
  • server/: 服务器模块,包含 HTTP 服务器的代码。
  • services/: 服务模块,包含各种服务的代码。
  • womtool/: WOM 工具模块,包含 WOM 文件的解析工具。

2. 项目的启动文件介绍

Cromwell 项目的启动文件主要位于 server/src/main/scala/cromwell/CromwellEntryPoint.scala。这个文件包含了启动 Cromwell 服务器的入口点。

package cromwell

import akka.actor.ActorSystem
import cromwell.core.actor.BootActorSystem
import cromwell.server.CromwellServer

object CromwellEntryPoint {
  def main(args: Array[String]): Unit = {
    val system = ActorSystem("CromwellServer")
    val server = new CromwellServer(system)
    server.run()
  }
}

启动流程

  1. 创建 Akka ActorSystem。
  2. 初始化 CromwellServer 实例。
  3. 调用 server.run() 方法启动服务器。

3. 项目的配置文件介绍

Cromwell 项目的配置文件主要位于 server/src/main/resources/application.conf。这个文件包含了 Cromwell 服务器的各种配置选项。

cromwell {
  services {
    MetadataService {
      config {
        metadata-output = "metadata.json"
      }
    }
    EngineService {
      config {
        workflow-options = "workflow_options.json"
      }
    }
  }
  database {
    profile = "slick.jdbc.HsqldbProfile$"
    db {
      url = "jdbc:hsqldb:mem:cromwell"
      user = "SA"
      password = ""
      driver = "org.hsqldb.jdbcDriver"
    }
  }
}

主要配置项

  • services: 服务配置,包含 MetadataService 和 EngineService 的配置。
  • database: 数据库配置,包含数据库连接的 URL、用户名、密码和驱动类。

通过这些配置项,可以定制 Cromwell 服务器的行为和数据库连接。

cromwellScientific workflow engine designed for simplicity & scalability. Trivially transition between one off use cases to massive scale production environments项目地址:https://gitcode.com/gh_mirrors/cr/cromwell

  • 3
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

汤华琦

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值