Skip to content

biohub.abacus

hsfzxjy edited this page Aug 28, 2017 · 24 revisions

配置

配置文件位于 biohub/abacus/config.json。ABACUS 有本地和远程两种使用方式。本地使用需安装 JRE 和对应的 ABACUS 数据库;远程使用只需填写远程 ABACUS Server 的 URL(注意要带 Back Slash)。配置文件格式如下:

{
    "ABACUS_JAR_PATH": "jar 文件的绝对路径",
    "ABACUS_DATABASE_PATH": "数据库配置文件的绝对路径",
    "ABACUS_REMOTE_SERVER": "远程 ABACUS Server 的 URL"
}

前两项与第三项二选一填写即可。当本地和远程两种方式皆可用时,优先选择本地方式。

RESTful API

Types

type AbacusTask

{
    id: GUID, // 标记此次任务的 ID
    query_url: URL // 用于查询任务状态的 URL
}

type AbacusQueryResult

{
    status: String,
    output: URL // 结果文件的 URL,只有当 status == "SUCCESS" 时此域存在
}

status 种类:

  • GONE: 不存在,或距离执行完毕过了至少两个小时
  • PENDING
  • RUNNING
  • SUCCESS
  • ERROR
  • TIMEOUT

POST /api/abacus/start/

启动一个计算任务。

Input

multipart/form-datafile 域为所上传的文件。

Output

  • 403: 未登录
  • 200 -> AbacusTask

GET /api/abacus/<GUID>/

查询某个任务的状态。

Output

  • 403: 未登录
  • 200 -> AbacusQueryResult

Websocket API

当任务状态转为 SUCCESS, ERROR, TIMEOUT 时,发起任务的用户会收到 handlerabacus 的 Websocket 消息,其数据为 AbacusQueryResult 类型。

Clone this wiki locally