ソースを参照

测试逻辑修改

zhangjinkun 6 年 前
コミット
184e701184

+ 3 - 1
src/jy/admin/task/task.go

@@ -69,7 +69,9 @@ func init() {
 		startid, _ := c.GetPostForm("startid")
 		num, _ := c.GetPostForm("num")
 		taskid, _ := c.GetPostForm("taskid")
-		b := extract.StartExtractTestTask(taskid, startid, num)
+		resultcoll, _ := c.GetPostForm("resultcoll")
+		trackcoll, _ := c.GetPostForm("trackcoll")
+		b := extract.StartExtractTestTask(taskid, startid, num, resultcoll, trackcoll)
 		c.JSON(200, gin.H{"rep": b})
 	})
 	//启动任务

+ 14 - 10
src/jy/extract/extract.go

@@ -28,12 +28,12 @@ var (
 )
 
 //启动测试抽取
-func StartExtractTestTask(taskId, startId, num string) bool {
+func StartExtractTestTask(taskId, startId, num, resultcoll, trackcoll string) bool {
 	defer qu.Catch()
 	ext := &ExtractTask{}
 	ext.Id = taskId
 	ext.IsRun = true
-	ext.InitTaskInfo()
+	ext.InitTestTaskInfo(resultcoll, trackcoll)
 	ext.TaskInfo.DB = db.MgoFactory(1, 3, 120, ext.TaskInfo.FromDbAddr, ext.TaskInfo.FromDB)
 	ext.InitRulePres()
 	ext.InitRuleBacks()
@@ -705,14 +705,18 @@ func AnalysisSaveResult(doc *map[string]interface{}, result map[string][]*ju.Ext
 			}
 		}
 	}
-	//保存抽取结果
-	task.DB.Update(task.SaveColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
-	//保存抽取详情
-	tmp["result"] = result
-	for k, v := range *doc {
-		if tmp[k] == nil { //&& (k != "detail" || k != "contenthtml") {
-			tmp[k] = v
+	if task.TestColl == "" {
+		//保存抽取结果
+		task.DB.Update(task.SaveColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
+		//保存抽取详情
+		tmp["result"] = result
+		for k, v := range *doc {
+			if tmp[k] == nil { //&& (k != "detail" || k != "contenthtml") {
+				tmp[k] = v
+			}
 		}
+		db.Mgo.Update("extract_result", `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
+	} else { //测试结果
+		db.Mgo.Update(task.TestColl, `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
 	}
-	db.Mgo.Update("extract_result", `{"_id":"`+_id+`"}`, map[string]interface{}{"$set": tmp}, true, false)
 }

+ 26 - 4
src/jy/extract/extractInit.go

@@ -32,7 +32,7 @@ type RuleCore struct {
 type TaskInfo struct {
 	Name, Version, VersionId, TrackColl string    //名称、版本、版本id、追踪记录表
 	FromDbAddr, FromDB, FromColl        string    //抽取数据库地址、库名、表名
-	SaveColl, LastExtId                 string    //抽取结果表、上次抽取信息id
+	SaveColl, TestColl, LastExtId       string    //抽取结果表、测试结果表、上次抽取信息id
 	DB                                  *db.Pool  //数据库连接池
 	IsEtxLog                            bool      //是否开启抽取日志
 	ProcessPool                         chan bool //任务进程池
@@ -60,7 +60,7 @@ func init() {
 }
 
 //加载任务信息
-func (e *ExtractTask) InitTaskInfo() {
+func (e *ExtractTask) InitTestTaskInfo(resultcoll, trackcoll string) {
 	task, _ := db.Mgo.FindById("task", e.Id, nil)
 	if len(*task) > 1 {
 		v, _ := db.Mgo.FindOne("version", `{"version":"`+(*task)["s_version"].(string)+`"}`)
@@ -68,12 +68,34 @@ func (e *ExtractTask) InitTaskInfo() {
 			Name:        (*task)["s_taskname"].(string),
 			Version:     (*task)["s_version"].(string),
 			VersionId:   qu.BsonIdToSId((*v)["_id"]),
-			TrackColl:   (*task)["s_trackcoll"].(string),
+			TrackColl:   trackcoll,
+			FromDbAddr:  (*task)["s_mgoaddr"].(string),
+			FromDB:      (*task)["s_mgodb"].(string),
+			FromColl:    (*task)["s_mgocoll"].(string),
+			TestColl:    resultcoll,
+			IsEtxLog:    true,
+			ProcessPool: make(chan bool, 1),
+		}
+	} else {
+		return
+	}
+}
+
+//加载任务信息
+func (e *ExtractTask) InitTaskInfo() {
+	task, _ := db.Mgo.FindById("task", e.Id, nil)
+	if len(*task) > 1 {
+		v, _ := db.Mgo.FindOne("version", `{"version":"`+(*task)["s_version"].(string)+`"}`)
+		e.TaskInfo = &TaskInfo{
+			Name:      (*task)["s_taskname"].(string),
+			Version:   (*task)["s_version"].(string),
+			VersionId: qu.BsonIdToSId((*v)["_id"]),
+			//TrackColl:   (*task)["s_trackcoll"].(string),
 			FromDbAddr:  (*task)["s_mgoaddr"].(string),
 			FromDB:      (*task)["s_mgodb"].(string),
 			FromColl:    (*task)["s_mgocoll"].(string),
 			SaveColl:    (*task)["s_mgosavecoll"].(string),
-			IsEtxLog:    qu.If(qu.IntAll((*task)["i_track"]) == 1, true, false).(bool),
+			IsEtxLog:    false, //qu.If(qu.IntAll((*task)["i_track"]) == 1, true, false).(bool),
 			LastExtId:   qu.ObjToString((*task)["s_extlastid"]),
 			ProcessPool: make(chan bool, qu.IntAllDef((*task)["i_process"], 1)),
 		}

+ 3 - 2
src/main_test.go

@@ -12,8 +12,9 @@ import (
 
 func Test_task(t *testing.T) {
 	Mgo = MgoFactory(1, 3, 120, "192.168.3.207:27082", "extract_v3")
-	extract.StartExtractTaskId("5b8f804025e29a290415aee1")
-	time.Sleep(15 * time.Second)
+	//extract.StartExtractTaskId("5b8f804025e29a290415aee1")
+	extract.StartExtractTestTask("5b8f804025e29a290415aee1", "5b8dcc45a5cb26b9b7f68469", "10", "result_v3", "v3.0_track")
+	time.Sleep(300 * time.Second)
 }
 func Test_reg(t *testing.T) {
 	context := ` 项目名称:   新碶街道2018年美女姜河、向家村河、塘湾河①河道清淤工程招标公告`

+ 1 - 1
src/web/templates/admin/result_list.html

@@ -7,7 +7,7 @@
 <div class="content-wrapper">
 	<section class="content-header" style="padding: 49px 15px 0 15px;">
 		<h1>
-			
+			<small><a class="btn btn-primary opr" opr="new">抽取测试</a></small>
 		</h1>
 		<ol class="breadcrumb">
 		  <li><a href="#"><i class="fa fa-dashboard"></i> 结果追踪</a></li>		  

+ 2 - 0
src/web/templates/admin/task_list.html

@@ -100,6 +100,7 @@ $(function () {
 					{label:"数据库表",s_label:"s_mgocoll",must:true},
 					{label:"保存表",s_label:"s_mgosavecoll",must:true},
 					{label:"描述",s_label:"s_descript",type:"tpl_text"},
+					/*
 					{label:"是否追踪",s_label:"i_track",type:"tpl_list_local",must:true,list:[{"s_name":"是","_id":1},{"s_name":"否","_id":0}],default:0,fun:function(){
 						var to=$("#i_track")					
 						to.val($(this).attr("_id"))
@@ -112,6 +113,7 @@ $(function () {
 						return  obj&&obj.i_track
 					}()},
 					{label:"是否统计",s_label:"i_count",type:"tpl_list_local",must:true,list:[{"s_name":"是","_id":1},{"s_name":"否","_id":0}],default:0},
+					*/
 					{label:"使用版本",s_label:"s_version",type:"tpl_list_local",must:true,url:"/admin/task/getversion"},
 					{label:"并发数量",s_label:"i_process",placeholder:"5",must:true},
 					{s_label:"_id",type:"tpl_hidden"},