fix(agent): 错误诊断 - 读取最近上游响应状态
This commit is contained in:
@@ -229,6 +229,18 @@ func (r *Repository) APICallLogUsageForTask(userID, taskID string) (model.ApiCal
|
|||||||
return log, true, nil
|
return log, true, nil
|
||||||
}
|
}
|
||||||
|
|
||||||
|
// LatestAPICallStatusForTask 返回任务最近一次上游调用的 HTTP 状态码;
|
||||||
|
// 任务没收到任何上游响应(例如网络错误)时返回 0。
|
||||||
|
func (r *Repository) LatestAPICallStatusForTask(taskID string) (int, error) {
|
||||||
|
if strings.TrimSpace(taskID) == "" {
|
||||||
|
return 0, nil
|
||||||
|
}
|
||||||
|
var log model.ApiCallLog
|
||||||
|
err := r.db.Select("status_code").Where("task_id = ? AND request_kind <> ?", taskID, "poll").
|
||||||
|
Order("created_at DESC").Limit(1).Find(&log).Error
|
||||||
|
return log.StatusCode, err
|
||||||
|
}
|
||||||
|
|
||||||
func (r *Repository) HasAPICallLogForTask(taskID string) (bool, error) {
|
func (r *Repository) HasAPICallLogForTask(taskID string) (bool, error) {
|
||||||
if strings.TrimSpace(taskID) == "" {
|
if strings.TrimSpace(taskID) == "" {
|
||||||
return false, nil
|
return false, nil
|
||||||
|
|||||||
Reference in New Issue
Block a user