refactor(gettask): 1.simple gettask
This commit is contained in:
@@ -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"
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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})
|
||||
|
||||
Reference in New Issue
Block a user