feat: 一堆更新

master
luziqi 3 years ago
parent d1ecb0f05e
commit 75b83f4bf2

@ -9,7 +9,7 @@ import (
var DSN = "" 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) { 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 { func SetPageQuery(db *gorm.DB, pageIndex int, pageSize int) *gorm.DB {
return db.Limit(pageSize).Offset((pageIndex - 1) * pageSize) 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": "第几页,默认为第一页", "description": "第几页,默认为第一页",
"name": "page_index", "name": "page_index",
"in": "query" "in": "query"
},
{
"type": "integer",
"description": "项目名称",
"name": "project",
"in": "query"
},
{
"type": "integer",
"description": "传1筛选有异常的任务",
"name": "has_error",
"in": "query"
} }
], ],
"responses": { "responses": {
@ -1048,7 +1060,7 @@ const docTemplate = `{
"application/x-www-form-urlencoded" "application/x-www-form-urlencoded"
], ],
"tags": [ "tags": [
"Monkey相关 /api/monkey/v1/" "文件相关 /webdav"
], ],
"summary": "上传Logcat日志", "summary": "上传Logcat日志",
"responses": { "responses": {

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

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

@ -10,6 +10,7 @@ import (
"flag" "flag"
"fmt" "fmt"
"net/http" "net/http"
"os"
_ "autogo/docs" _ "autogo/docs"
@ -24,6 +25,15 @@ var (
) )
func init() { 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", "测试环境") 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 PACKAGE=" + task.PackageName + " "
cmd_str += "-e RUN_TIME=" + cast.ToString(task.RunTime) + " " cmd_str += "-e RUN_TIME=" + cast.ToString(task.RunTime) + " "
cmd_str += "-e DEVICE=" + udid + " " cmd_str += "-e DEVICE=" + udid + " "
cmd_str += "-v /home/tmp/pkg/" + filename + ":/tmp/test.apk" + " " cmd_str += "-v /root/app/autogo/downloads/" + filename + ":/tmp/test.apk" + " "
cmd_str += "-v /home/app/uat:/home/app/uat" + " " cmd_str += "-v /root/app/uat-adr:/home/app/uat" + " "
cmd_str += "monkey-adr" cmd_str += "monkey-adr"
// cmd_str = "cd /home/app/monkey && nohup python3 main_adr.py" + // cmd_str = "cd /home/app/monkey && nohup python3 main_adr.py" +

@ -19,7 +19,7 @@ import (
func RunAndroidMonkeyCmd(task models.MonkeyTask, udid string) { func RunAndroidMonkeyCmd(task models.MonkeyTask, udid string) {
filename := cast.ToString(time.Now().Unix()) + ".apk" 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) log.Debug("正在下载apk", task.PackageURL)
err := exec.Command("wget", task.PackageURL, "-O", pkg_path).Run() err := exec.Command("wget", task.PackageURL, "-O", pkg_path).Run()
if err != nil { if err != nil {

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

Loading…
Cancel
Save