This commit is contained in:
@@ -126,19 +126,23 @@ func attemptSendJob(job *client.SendJob) (int, error) {
|
||||
}
|
||||
|
||||
for i, srv := range job.Servers {
|
||||
// Prepare for server
|
||||
var packedUsrMsg *meowlib.PackedUserMessage
|
||||
err := proto.Unmarshal(data, packedUsrMsg)
|
||||
if err != nil {
|
||||
// todo
|
||||
return -1, err
|
||||
}
|
||||
PackMessageForServer(packedUsrMsg, srv.GetUid())
|
||||
|
||||
if job.Retries[i] >= maxRetriesPerServer {
|
||||
continue // this server is exhausted
|
||||
}
|
||||
_, err = meowlib.HttpPostMessage(srv.Url, data, timeout)
|
||||
|
||||
// Unmarshal the stored PackedUserMessage and wrap it for this server.
|
||||
packedUsrMsg := &meowlib.PackedUserMessage{}
|
||||
if err := proto.Unmarshal(data, packedUsrMsg); err != nil {
|
||||
return -1, err
|
||||
}
|
||||
serverData, errTxt, packErr := PackMessageForServer(packedUsrMsg, srv.GetUid())
|
||||
if packErr != nil {
|
||||
logger.Error().Err(packErr).Str("errTxt", errTxt).Str("url", srv.Url).Msg("attemptSendJob: PackMessageForServer")
|
||||
job.Retries[i]++
|
||||
continue
|
||||
}
|
||||
|
||||
_, err = meowlib.HttpPostMessage(srv.Url, serverData, timeout)
|
||||
if err != nil {
|
||||
logger.Warn().Err(err).Str("url", srv.Url).Int("retry", job.Retries[i]+1).Msg("attemptSendJob: POST failed")
|
||||
job.Retries[i]++
|
||||
|
||||
Reference in New Issue
Block a user