Merge pull request #189 from wo10378931/v0.4.0

两个fix
This commit is contained in:
Marvin Zhang
2019-08-31 11:44:45 +08:00
committed by GitHub
7 changed files with 22 additions and 9 deletions

View File

@@ -92,8 +92,6 @@ func (spider *Spider) GetLastTask() (Task, error) {
return tasks[0], nil
}
func GetSpiderList(filter interface{}, skip int, limit int) ([]Spider, error) {
s, c := database.GetCol("spiders")
defer s.Close()
@@ -165,6 +163,15 @@ func RemoveSpider(id bson.ObjectId) error {
return err
}
// gf上的文件
s, gf := database.GetGridFs("files")
defer s.Close()
if err := gf.RemoveId(result.FileId); err != nil {
log.Error("remove file error, id:" + result.FileId.Hex())
return err
}
return nil
}

View File

@@ -1,11 +1,13 @@
package routes
import (
"github.com/apex/log"
"github.com/gin-gonic/gin"
"runtime/debug"
)
func HandleError(statusCode int, c *gin.Context, err error) {
log.Errorf("handle error:" + err.Error())
debug.PrintStack()
c.AbortWithStatusJSON(statusCode, Response{
Status: "ok",

View File

@@ -124,6 +124,7 @@ func IsMaster() bool {
return viper.GetString("server.master") == Yes
}
// 所有调用IsMasterNode的方法都永远会在master节点执行所以GetCurrentNode方法返回永远是master节点
// 该ID的节点是否为主节点
func IsMasterNode(id string) bool {
curNode, _ := GetCurrentNode()

View File

@@ -297,6 +297,7 @@ func PublishSpider(spider model.Spider) (err error) {
return
}
channel := "files:upload"
log.Info("publish files.upload event, file id:" + msg.FileId)
if err = database.Publish(channel, string(msgStr)); err != nil {
log.Errorf(err.Error())
debug.PrintStack()
@@ -308,6 +309,7 @@ func PublishSpider(spider model.Spider) (err error) {
// 上传爬虫回调
func OnFileUpload(channel string, msgStr string) {
log.Info("received files.upload event, msgStr:" + msgStr)
s, gf := database.GetGridFs("files")
defer s.Close()
@@ -322,7 +324,7 @@ func OnFileUpload(channel string, msgStr string) {
// 从GridFS获取该文件
f, err := gf.OpenId(bson.ObjectIdHex(msg.FileId))
if err != nil {
log.Errorf(err.Error())
log.Errorf("open file id: " + msg.FileId + ", error: " + err.Error())
debug.PrintStack()
return
}

View File

@@ -472,6 +472,7 @@ func CancelTask(id string) (err error) {
}
func HandleTaskError(t model.Task, err error) {
log.Error("handle task error:" + err.Error())
t.Status = constants.StatusError
t.Error = err.Error()
t.FinishTs = time.Now()

View File

@@ -86,15 +86,15 @@ export default {
return dayjs(str).format('YYYY-MM-DD HH:mm:ss')
},
getWaitDuration (row) {
if (row.start_ts.match('^0001')) return 'NA'
if (!row.start_ts || row.start_ts.match('^0001')) return 'NA'
return dayjs(row.start_ts).diff(row.create_ts, 'second')
},
getRuntimeDuration (row) {
if (row.finish_ts.match('^0001')) return 'NA'
if (!row.finish_ts || row.finish_ts.match('^0001')) return 'NA'
return dayjs(row.finish_ts).diff(row.start_ts, 'second')
},
getTotalDuration (row) {
if (row.finish_ts.match('^0001')) return 'NA'
if (!row.finish_ts || row.finish_ts.match('^0001')) return 'NA'
return dayjs(row.finish_ts).diff(row.create_ts, 'second')
}
}

View File

@@ -99,12 +99,12 @@ export default {
this.$st.sendEv('任务详情-结果', '下载CSV')
}
},
created () {
this.$store.dispatch('task/getTaskData', this.$route.params.id)
async created () {
await this.$store.dispatch('task/getTaskData', this.$route.params.id)
this.$store.dispatch('task/getTaskLog', this.$route.params.id)
this.$store.dispatch('task/getTaskResults', this.$route.params.id)
if (['running'].includes(this.taskForm.status)) {
if (this.taskForm && ['running'].includes(this.taskForm.status)) {
this.handle = setInterval(() => {
this.$store.dispatch('task/getTaskLog', this.$route.params.id)
}, 5000)