refactor(gettask): 1.simple gettask

This commit is contained in:
eson
2020-11-24 15:16:37 +08:00
parent 0ea415ae78
commit 38d369bb58
10 changed files with 173 additions and 155 deletions

View File

@@ -29,3 +29,26 @@ func CallbackServer(task *Task) {
}
}
}
// ErrorCallbackServer 错误处理回调客户端
func ErrorCallbackServer(task *Task) {
defer func() {
if err := recover(); err != nil {
log.Println(err)
}
}()
task.lock.Lock()
defer task.lock.Unlock()
if callback, ok := task.data["callback"]; ok {
cburl := callback.(string)
// log.Println(cburl)
_, err := requests.NewSession().Post(cburl).SetBodyAuto(task.data, requests.TypeFormData).Execute()
if err != nil {
log.Println(err)
task.data["error"] = fmt.Sprintf("callback url error: %s", err)
} else {
task.data["status"] = "readied"
}
}
}

View File

@@ -75,7 +75,6 @@ func PutTask(c *gin.Context) {
data.Store("ts", now.UnixNano())
data.Store("label", label)
data.Store("content_condition", c.PostForm("content_condition"))
if callback := c.PostForm("callback"); callback != "" {
data.Store("callback", callback)
}
@@ -165,6 +164,8 @@ func ErrorTask(c *gin.Context) {
task.Store("error", errorStr)
errorQueue.Push(tid, task) // 进入回调发送队列.TODO: 内容持久化
c.JSON(http.StatusOK, Response{Code: 200})
// log.Println(errorStr)
go ErrorCallbackServer(task)
return
}
c.JSON(http.StatusOK, Response{Code: 404})