fix
Some checks failed
Deploy Dev / Build (pull_request) Failing after 19s
Deploy Dev / Push (pull_request) Has been skipped
Deploy Dev / Deploy dev (pull_request) Has been skipped

This commit is contained in:
Egor Matveev 2024-12-31 00:57:54 +03:00
parent c2659fb49c
commit 0d2abaf34e
4 changed files with 8 additions and 0 deletions

1
.gitignore vendored Normal file
View File

@ -0,0 +1 @@
queues-go

View File

@ -21,6 +21,7 @@ func Put(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusBadRequest) w.WriteHeader(http.StatusBadRequest)
return return
} }
queue := r.Header.Get("queue") queue := r.Header.Get("queue")
var availableFrom time.Time var availableFrom time.Time
if body.Delay == nil { if body.Delay == nil {
@ -28,6 +29,7 @@ func Put(w http.ResponseWriter, r *http.Request) {
} else { } else {
availableFrom = time.Now().Add(time.Second + time.Duration(*body.Delay)) availableFrom = time.Now().Add(time.Second + time.Duration(*body.Delay))
} }
task := tasks.InsertedTask{ task := tasks.InsertedTask{
Queue: queue, Queue: queue,
Payload: body.Payload, Payload: body.Payload,
@ -37,10 +39,12 @@ func Put(w http.ResponseWriter, r *http.Request) {
TakenAt: nil, TakenAt: nil,
Attempts: 0, Attempts: 0,
} }
err = tasks.Add(task) err = tasks.Add(task)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
return return
} }
w.WriteHeader(http.StatusAccepted) w.WriteHeader(http.StatusAccepted)
} }

View File

@ -23,6 +23,7 @@ func Take(w http.ResponseWriter, r *http.Request) {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
return return
} }
var response TakeResponse var response TakeResponse
if task == nil { if task == nil {
response.Task = nil response.Task = nil
@ -33,10 +34,12 @@ func Take(w http.ResponseWriter, r *http.Request) {
Payload: task.Payload, Payload: task.Payload,
} }
} }
data, err := json.Marshal(response) data, err := json.Marshal(response)
if err != nil { if err != nil {
w.WriteHeader(http.StatusInternalServerError) w.WriteHeader(http.StatusInternalServerError)
return return
} }
w.Write(data) w.Write(data)
} }

BIN
queues-go

Binary file not shown.