// 任务执行日志列表 func (this *TaskController) Logs() { taskId, _ := this.GetInt("id") page, _ := this.GetInt("page") if page < 1 { page = 1 } task, err := models.TaskGetById(taskId) if err != nil { this.showMsg(err.Error()) } result, count := models.TaskLogGetList(page, this.pageSize, "task_id", task.Id) list := make([]map[string]interface{}, len(result)) for k, v := range result { row := make(map[string]interface{}) row["id"] = v.Id row["start_time"] = beego.Date(time.Unix(v.CreateTime, 0), "Y-m-d H:i:s") row["process_time"] = float64(v.ProcessTime) / 1000 row["ouput_size"] = libs.SizeFormat(float64(len(v.Output))) row["status"] = v.Status list[k] = row } this.Data["pageTitle"] = "任务执行日志" this.Data["list"] = list this.Data["task"] = task this.Data["pageBar"] = libs.NewPager(page, int(count), this.pageSize, beego.URLFor("TaskController.Logs", "id", taskId), true).ToString() this.display() }
// 查看日志详情 func (this *TaskController) ViewLog() { id, _ := this.GetInt("id") taskLog, err := models.TaskLogGetById(id) if err != nil { this.showMsg(err.Error()) } task, err := models.TaskGetById(taskLog.TaskId) if err != nil { this.showMsg(err.Error()) } data := make(map[string]interface{}) data["id"] = taskLog.Id data["output"] = taskLog.Output data["error"] = taskLog.Error data["start_time"] = beego.Date(time.Unix(taskLog.CreateTime, 0), "Y-m-d H:i:s") data["process_time"] = float64(taskLog.ProcessTime) / 1000 data["ouput_size"] = libs.SizeFormat(float64(len(taskLog.Output))) data["status"] = taskLog.Status this.Data["task"] = task this.Data["data"] = data this.Data["pageTitle"] = "查看日志" this.display() }
// 首页 func (this *MainController) Index() { this.Data["pageTitle"] = "系统概况" // 即将执行的任务 entries := jobs.GetEntries(30) jobList := make([]map[string]interface{}, len(entries)) for k, v := range entries { row := make(map[string]interface{}) job := v.Job.(*jobs.Job) row["task_id"] = job.GetId() row["task_name"] = job.GetName() row["next_time"] = beego.Date(v.Next, "Y-m-d H:i:s") jobList[k] = row } // 最近执行的日志 logs, _ := models.TaskLogGetList(1, 20) recentLogs := make([]map[string]interface{}, len(logs)) for k, v := range logs { task, err := models.TaskGetById(v.TaskId) taskName := "" if err == nil { taskName = task.TaskName } row := make(map[string]interface{}) row["task_name"] = taskName row["id"] = v.Id row["start_time"] = beego.Date(time.Unix(v.CreateTime, 0), "Y-m-d H:i:s") row["process_time"] = float64(v.ProcessTime) / 1000 row["ouput_size"] = libs.SizeFormat(float64(len(v.Output))) row["output"] = beego.Substr(v.Output, 0, 100) row["status"] = v.Status recentLogs[k] = row } this.Data["recentLogs"] = recentLogs this.Data["jobs"] = jobList this.Data["cpuNum"] = runtime.NumCPU() this.display() }