1.5.0 • Published 3 years ago

@quick-qui/model-server v1.5.0

Weekly downloads
7
License
MIT
Repository
github
Last release
3 years ago

@quick-qui/model-server

负责载入、解析、维护和发布模型。 关于模型的各种规则和计算在此执行 (但不在此定义,定义见 @quick-qui/model-defines。)

相关概念

  1. 模型库(repository) 与模型源、模型文件共同组成模型的描述系统。一个模型库一般对应一个模型空间,也就是一个系统的全部模型描述。一个模型库有一个主要的模型源,可能是文件夹、url 地址等等形式,一个模型源可以包含(include)其他源。每个模型源包含多个模型文件。模型文件按类似于文件夹的形式树形组织,不同文件夹内的模型文件对应不同的命名空间。
  2. 模型源(source) (见上条)
  3. 模型文件(file) (见上条)
  4. 包含(include) - 一个模型源可以包含一个或多个其他源,也就是一个模型库包含多个源。
  5. 日志(log) - 载入、解析、合并、编织等活动都有详尽记录。

如何工作

  1. 作为 node 服务运行起来。
  2. 从模型库(repository)地址加载模型源文件。
  3. 如果有导入(include),则加载被导入的模型源。
  4. 根据源文件的特征载入对应的模型定义。(模型定义为可扩展,详见 @quick-qui/model-defines
  5. 所有的源文件验证(validate)以后解析为模型片段,合并到模型空间中。此处的验证是对源文件和片段的局部验证。
  6. 验证,特别是在模型空间范围的合法性。
  7. 编织(weave)。
  8. 处理完毕的常驻,随时可以查询,除非人为触发刷新(refresh),不会重新载入处理。
  9. 处理过程有记录,可以通过接口查询。

如何运行

  1. 作为node服务单独运行 - npm start
  2. 作为@quick-qui/builder的一部分运行,其背后也是通过子进程调用1.的方式。
  3. 作为“成品运行时“的一部分运行,其运行方式根据launcher类型的不同而不同。详细见@quick-qui/launcher相关说明。

所需环境

MODEL_PATH环境变量string, 必填。指出模型项目所在的路径。本地路径,可以是相对路径。
PORT环境变量int,可选,默认1111服务监听的端口。

接口

URL方法参数说明
获取模型列表/modelsGET🏃(目前没有明确定义模型 id,只能使用“default”作为 id)
获取模型对象/models/:idGETid:string, 模型 id如果返回 404,可能是模型载入不成功,可获取对应的日志查看具体原因。
获取载入过程日志/models/:id/logsGET
获取模型对应的模型源信息/models/:id/modelSourcesGET
刷新模型/models/:id/refreshPOST下次 get 的时候会重新运行载入全过程