feat: 一堆更新

master
luziqi 3 years ago
parent d1ecb0f05e
commit 75b83f4bf2

@ -9,7 +9,7 @@ import (
var DSN = ""
const DSN_local = "root:flatincbr@tcp(qa.flatincbr.work:3306)/qa?charset=utf8&parseTime=true"
var DSN_local = ""
// 初始化数据库
func GetConn(dsn string) (*gorm.DB, error) {
@ -33,3 +33,7 @@ func Close(db *gorm.DB) {
func SetPageQuery(db *gorm.DB, pageIndex int, pageSize int) *gorm.DB {
return db.Limit(pageSize).Offset((pageIndex - 1) * pageSize)
}
func SetDSN(pwd string) {
DSN_local = "root:" + pwd + "@tcp(mysql.flatincbr.work:3306)/qa?charset=utf8&parseTime=true"
}

@ -813,6 +813,18 @@ const docTemplate = `{
"description": "第几页,默认为第一页",
"name": "page_index",
"in": "query"
},
{
"type": "integer",
"description": "项目名称",
"name": "project",
"in": "query"
},
{
"type": "integer",
"description": "传1筛选有异常的任务",
"name": "has_error",
"in": "query"
}
],
"responses": {
@ -1048,7 +1060,7 @@ const docTemplate = `{
"application/x-www-form-urlencoded"
],
"tags": [
"Monkey相关 /api/monkey/v1/"
"文件相关 /webdav"
],
"summary": "上传Logcat日志",
"responses": {

@ -801,6 +801,18 @@
"description": "第几页,默认为第一页",
"name": "page_index",
"in": "query"
},
{
"type": "integer",
"description": "项目名称",
"name": "project",
"in": "query"
},
{
"type": "integer",
"description": "传1筛选有异常的任务",
"name": "has_error",
"in": "query"
}
],
"responses": {
@ -1036,7 +1048,7 @@
"application/x-www-form-urlencoded"
],
"tags": [
"Monkey相关 /api/monkey/v1/"
"文件相关 /webdav"
],
"summary": "上传Logcat日志",
"responses": {

@ -537,6 +537,14 @@ paths:
in: query
name: page_index
type: integer
- description: 项目名称
in: query
name: project
type: integer
- description: 传1筛选有异常的任务
in: query
name: has_error
type: integer
responses:
"200":
description: 返回更新后的任务信息
@ -701,5 +709,5 @@ paths:
$ref: '#/definitions/models.Response'
summary: 上传Logcat日志
tags:
- Monkey相关 /api/monkey/v1/
- 文件相关 /webdav
swagger: "2.0"

@ -10,6 +10,7 @@ import (
"flag"
"fmt"
"net/http"
"os"
_ "autogo/docs"
@ -24,6 +25,15 @@ var (
)
func init() {
// 从环境变量读取mysql密码
pwd := os.Getenv("MYSQL_PASSWD")
if pwd == "" {
fmt.Println("环境变量 MYSQL_PASSWD 不存在")
os.Exit(1)
}
// 设置mysql密码
dbsql.SetDSN(pwd)
flag.StringVar(&ENV, "env", "dev", "测试环境")
}

@ -45,8 +45,8 @@ func (task *MonkeyTask) Cmd(udid string, filename string) string {
cmd_str += "-e PACKAGE=" + task.PackageName + " "
cmd_str += "-e RUN_TIME=" + cast.ToString(task.RunTime) + " "
cmd_str += "-e DEVICE=" + udid + " "
cmd_str += "-v /home/tmp/pkg/" + filename + ":/tmp/test.apk" + " "
cmd_str += "-v /home/app/uat:/home/app/uat" + " "
cmd_str += "-v /root/app/autogo/downloads/" + filename + ":/tmp/test.apk" + " "
cmd_str += "-v /root/app/uat-adr:/home/app/uat" + " "
cmd_str += "monkey-adr"
// cmd_str = "cd /home/app/monkey && nohup python3 main_adr.py" +

@ -19,7 +19,7 @@ import (
func RunAndroidMonkeyCmd(task models.MonkeyTask, udid string) {
filename := cast.ToString(time.Now().Unix()) + ".apk"
pkg_path := "/home/tmp/pkg/" + filename
pkg_path := "/root/app/autogo/downloads/" + filename
log.Debug("正在下载apk", task.PackageURL)
err := exec.Command("wget", task.PackageURL, "-O", pkg_path).Run()
if err != nil {

@ -193,6 +193,7 @@ func UpdateTaskCrashCount(c *gin.Context) {
// @Param page_size query int false "每页大小,默认为10"
// @Param page_index query int false "第几页,默认为第一页"
// @Param project query int false "项目名称"
// @Param has_error query int false "传1筛选有异常的任务"
// @Success 200 {object} models.Response "返回更新后的任务信息"
// @Router /api/monkey/v1/tasks [get]
func GetTasks(c *gin.Context) {
@ -214,6 +215,8 @@ func GetTasks(c *gin.Context) {
project := c.DefaultQuery("project", "")
has_error := cast.ToInt(c.DefaultQuery("has_error", "0"))
db, err := dbsql.GetConn(dbsql.DSN)
if err != nil {
c.JSON(http.StatusOK, rsp.Error(err.Error()))
@ -228,6 +231,9 @@ func GetTasks(c *gin.Context) {
if project != "" {
db = db.Where("project = ?", project)
}
if has_error == 1 {
db = db.Where("crash_count > 0")
}
db = db.Where("is_del = 0").Count(&lenght)
db = dbsql.SetPageQuery(db, pageIndex, pageSize)
db.Order("id desc").Find(&list)
@ -448,9 +454,8 @@ func StopMonkeyTask(c *gin.Context) {
list := GetTaskFromDocker(task_id)
for _, v := range list {
if StopDockerContainer(v.Name) {
db.Table("device").Model(models.Device{}).Where("udid = ?", v.Device).Update("status", "online")
}
StopDockerContainer(v.Name)
db.Table("device").Model(models.Device{}).Where("udid = ?", v.Device).Update("status", "online")
}
db.Table("monkey_task").Model(models.MonkeyTask{}).Where("id = ?", task_id).Update("status", "CANCEL")

Loading…
Cancel
Save