likes
comments
collection
share

数据工厂系列(30)数据工厂介绍文档

作者站长头像
站长
· 阅读数 26

大家好~我是小方,欢迎大家关注笋货测试笔记体完记得俾个like

背景

以前的造数平台(fastapi)将造数脚本进行api化,然后用fastapi自带的swagger文档进行请求,没有web页面,不太方便,加上写造数脚本相当于写成了一个接口,对于不太熟悉fastapi的同学debug起来及其困难···

综上所述,将平台与造数脚本进行解耦,采用apidoc生成脚本入参出参数据,生成web界面,动态导包作为核心执行方法~

哦,对了这个数据工厂就叫FunLine数据工厂,fun有趣的意思,line流水线般造数据,结合起来就如某土康的流水线一样,想造什么就造什么FunLine

一、数据工厂流程图

数据工厂系列(30)数据工厂介绍文档

二、登录注册介绍

这里没啥好讲的,很普通的一个功能···有能力的小伙伴可自行接入公司的SSO服务,公司里的数据工厂目前是接入SSO服务,通过员工号+密码登录即可

数据工厂系列(30)数据工厂介绍文档

三、权限介绍

权限类型

数据工厂里面一共有3种角色

  1. 普通用户

级别高于访客,能浏览许多内容,但有的模块不能新增/编辑

  1. 组长

这个概念很贴切,小组长可以看做为超级管理员放权的对象,很多事情如果全部找管理员,那肯定会需要很多管理员,这不是我们设计的初衷,所以组长可以理解为次级管理员,能做很多事情的用户角色

  1. 超级管理员

拥有全部权限的用户,可以修改/新增/删除任何内容

修改权限

第一个登录进来的用户自动升级为管理员,之后其他人注册默认都是普通用户。如果期间需要变更某个用户的权限,请联系管理员,在用户管理页面可以更改用户角色

四、项目管理

项目创建

目前只有超级管理员和组长可以进行创建项目,普通用户是不能创建项目的哦~ 数据工厂系列(30)数据工厂介绍文档

项目配置

  • 项目名称

随便填上这个项目名称即可

  • 脚本目录名

配置的是脚本的执行目录

  • 项目负责人

为拥有该项目所有权限的用户,可以对项目进行任何操作

  • 项目拉取方式

目前可选择ssh和http拉取方式

  • git项目

这里配置的是gitlab的脚本项目,名称一定要跟gitlab项目名称保持一致!!!

  • git地址

直接复制gitlab的项目地址即可,这里要注意的是,HTTP形式的拉取,地址为http开头的,SSH形式的拉取,地址为git开头

  • git分支名

填写你要拉取的项目分支即可

  • git账号

拉取该项目使用的账号

  • git密码

拉取该项目使用的账号的密码(这里git密码采用AES进行加密存储,请大家放心哦,后端加密存储,前端解密查看,杜绝F12查看密码,嘻嘻)

  • 项目描述

填上该项目的描述即可

  • 是否私有

在下面的项目权限进行介绍~

数据工厂系列(30)数据工厂介绍文档

项目权限介绍

  • 公有/私有

数据工厂系列(30)数据工厂介绍文档

项目本身存在公有/私有的区别,设置为私有项目,除项目组长、组员、项目负责人以及超管之外,其他人均无法看到;设置为公有项目,所有都可以看到该项目,但是执行项目里的脚本需要配置项目的权限

  • 项目角色

项目分为项目负责人(可以理解为项目的超级管理员):可以配置项目权限(添加/修改/删除组员),修改项目信息,删除项目,执行项目里的脚本

组长:可以配置项目权限(添加/修改/删除组员),修改项目信息,删除项目,执行项目里的脚本,查看项目详情,初始化项目,同步项目

组员:可执行项目里的脚本,初始化项目,同步项目

  • 项目操作

目前项目操作有以下几种:

  1. 配置权限:跳转到项目详情,进行配置项目权限(添加/修改/删除组员),修改项目信息
  2. 初始化项目:一开始创建完项目,需要初始化项目,相当于clone项目
  3. 同步项目:每次gitlab项目更新了,需要手动执行同步项目的场景,生成脚本数据(第一次录入项目时,也要进行同步项目)
  4. 删除项目:相当于删除整个项目,此操作需谨慎操作,会删除项目下的所有造数场景
  5. git Webhook同步项目:在gitlab项目的设置中,添加平台同步链接,每次推送代码时,即可同步项目里面的场景

插播一个小坑 这里更新脚本项目时相当于是热更,重启了整个服务···如果重启服务的时候,刚好有人执行脚本,会造成阻塞~~(这个我暂时没遇到过,内部的数据工厂已经落地了大半年,小伙伴没反馈过=。=可能并发并不高吧 hhhhhh)~~正确做法应该是用importlib.reload进行重新加载,使用uvicorn时启动时如何进行热更,具体可看这个RestarUvicorn.py

项目是脚本的基石,先有项目,再有脚本,最后才能执行造数脚本

五、场景介绍

这里所说的场景,即等于项目里的脚本

这里场景,我们使用了业务线进行分类,【我收藏的】后面的tab栏,即为业务线,业务线是棣属于项目下,而业务线是由用户自行编写脚本时,填入的注释,如何编写脚本我们后面会介绍。

数据工厂系列(30)数据工厂介绍文档

点击任意一个卡片,即可进入到场景详情。

场景操作介绍

目前场景操作有以下几种:

  • 同步场景

可以选择项目进行同步场景,拉取场景数据

数据工厂系列(30)数据工厂介绍文档

  • 保存场景

在请求示例tab栏,编写好脚本的入参,点击【保存场景】,输入场景名称后,即可保存当前场景的入参数据

数据工厂系列(30)数据工厂介绍文档

  • 运行场景

在请求示例tab栏,编写好脚本的入参,点击运行,即可执行脚本

数据工厂系列(30)数据工厂介绍文档

  • 外部链接运行场景

在参数组合tab栏,点击外调,即可复制该场景的调用链接,而脚本的入参,为该参数组合的入参数据,将链接放入到浏览器回车后,即可自动执行

数据工厂系列(30)数据工厂介绍文档

数据工厂系列(30)数据工厂介绍文档

  • RPC运行场景

api.fangfun.xyz/api/cases/r… 后面拼接方法名,如下面的栗子

数据工厂系列(30)数据工厂介绍文档

或者直接点击RPC调用按钮,即可复制到剪贴板

数据工厂系列(30)数据工厂介绍文档

该脚本postman调用地址为:api.fangfun.xyz/api/cases/r…

入参即为脚本维护的入参

数据工厂系列(30)数据工厂介绍文档

场景运行日志

这里运行日志需要我们通过装饰器手动注入,如果你的脚本没有运行日志返回,就不会有运行日志···我们来拿创建项目这个脚本来做示例···

脚本中返回执行结果,还有运行日志

数据工厂系列(30)数据工厂介绍文档

手动append进去 数据工厂系列(30)数据工厂介绍文档

最终场景运行日志长这样 数据工厂系列(30)数据工厂介绍文档

内部数据工厂某个脚本运行日志

数据工厂系列(30)数据工厂介绍文档

六、调用记录介绍

这里记录着各个脚本的调用记录,入参、出参、运行日志、调用状态

  • 运行成功

脚本里面的返参含有responseCode或者code,且状态码等于200或者0即为运行成功这个可根据实际情况界定运行成功,各个公司不太一样

  • 运行异常

跟运行成功相反的判断

  • 运行失败

运行脚本时,出现报错,无法执行脚本

数据工厂系列(30)数据工厂介绍文档

数据工厂系列(30)数据工厂介绍文档

七、数据报表介绍

这里没啥好说的,报表数据,好看完事了!!!升职加薪,当上总经理,出任CEO,迎娶白富美,走向人生巅峰 数据工厂系列(30)数据工厂介绍文档

转载自:https://juejin.cn/post/7295624857432522788
评论
请登录