Skip to content

Commit

Permalink
Runs the addition of digital
Browse files Browse the repository at this point in the history
  • Loading branch information
brotherlogic committed Oct 17, 2020
1 parent c06b345 commit a1b7381
Showing 1 changed file with 36 additions and 1 deletion.
37 changes: 36 additions & 1 deletion recordadderutils.go
Original file line number Diff line number Diff line change
Expand Up @@ -54,7 +54,42 @@ func (s *Server) processQueue(ctx context.Context) error {
}
}

s.Log(fmt.Sprintf("Still %v to go!", time.Now().Sub(time.Unix(queue.LastAdditionDate, 0))))
err = s.runDigital(ctx, queue, available)

s.Log(fmt.Sprintf("Still %v to go (with digital %v) !", time.Now().Sub(time.Unix(queue.LastAdditionDate, 0)), err))

return nil
}

func isDigital(req *pb.AddRecordRequest) bool {
//Digital is CD, Bandcamp or Computer
return req.GetFolder() == 242018 ||
req.GetFolder() == 1782105 ||
req.GetFolder() == 2274270
}

func (s *Server) runDigital(ctx context.Context, queue *pb.Queue, available int32) error {
if len(queue.Requests) > 0 && time.Now().Sub(time.Unix(queue.GetLastDigitalAddition(), 0)) >= time.Hour*24 {
for i, req := range queue.GetRequests() {
if isDigital(req) && req.GetCost() < available && req.GetArrived() {
err := s.rc.addRecord(ctx, queue.Requests[i])
s.Log(fmt.Sprintf("Adding %v -> %v", queue.Requests[i], err))
if err != nil {
return fmt.Errorf("Error adding record: %v", err)
}

queue.LastAdditionDate = time.Now().Unix()
queue.Requests = append(queue.Requests[:i], queue.Requests[i+1:]...)

// We need to refresh the context for the save since the fanout may have run out the clock
ctxinner, cancelinner := utils.ManualContext("rasave", "rasave", time.Minute, true)
err = s.KSclient.Save(ctxinner, QUEUE, queue)
cancelinner()

return err
}
time.Sleep(time.Second * 5)
}
}
return nil
}

0 comments on commit a1b7381

Please sign in to comment.