This commit is contained in:
@@ -126,19 +126,23 @@ func attemptSendJob(job *client.SendJob) (int, error) {
|
|||||||
}
|
}
|
||||||
|
|
||||||
for i, srv := range job.Servers {
|
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 {
|
if job.Retries[i] >= maxRetriesPerServer {
|
||||||
continue // this server is exhausted
|
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 {
|
if err != nil {
|
||||||
logger.Warn().Err(err).Str("url", srv.Url).Int("retry", job.Retries[i]+1).Msg("attemptSendJob: POST failed")
|
logger.Warn().Err(err).Str("url", srv.Url).Int("retry", job.Retries[i]+1).Msg("attemptSendJob: POST failed")
|
||||||
job.Retries[i]++
|
job.Retries[i]++
|
||||||
|
|||||||
Reference in New Issue
Block a user