fix: 503 при сбое GetScan вместо ложного 404 scan not found
- Store.GetScan возвращает (job, ok, error); Postgres отдаёт err при ошибке БД/JSON - API: getScanOrWriteError → 503 scan storage temporarily unavailable - Web UI: понятное сообщение для HTTP 503 при опросе скана Made-with: Cursor
This commit is contained in:
@@ -88,7 +88,11 @@ func (r *Runner) CancelScan(id string) bool {
|
||||
}
|
||||
|
||||
func (r *Runner) markJobCanceledFromStore(jobID string) {
|
||||
cur, ok := r.store.GetScan(jobID)
|
||||
cur, ok, err := r.store.GetScan(jobID)
|
||||
if err != nil {
|
||||
log.Printf("runner markJobCanceledFromStore GetScan %q: %v", jobID, err)
|
||||
return
|
||||
}
|
||||
if !ok {
|
||||
return
|
||||
}
|
||||
@@ -106,7 +110,10 @@ func (r *Runner) markJobCanceledFromStore(jobID string) {
|
||||
}
|
||||
|
||||
func (r *Runner) run(ctx context.Context, job ScanJob) {
|
||||
if cur, ok := r.store.GetScan(job.ID); ok && cur.Status == "canceled" {
|
||||
if cur, ok, err := r.store.GetScan(job.ID); err != nil {
|
||||
log.Printf("runner run GetScan %q: %v", job.ID, err)
|
||||
return
|
||||
} else if ok && cur.Status == "canceled" {
|
||||
return
|
||||
}
|
||||
if err := ctx.Err(); err != nil && errors.Is(err, context.Canceled) {
|
||||
|
||||
Reference in New Issue
Block a user