task-processor/internal/remote/send.go
nquidox a32b1ef69b
All checks were successful
/ Make image (push) Successful in 49s
CloseAndRecv in send
2026-03-01 01:01:06 +03:00

44 lines
1 KiB
Go

package remote
import (
"context"
log "github.com/sirupsen/logrus"
"task-processor/internal/shared"
pb "task-processor/proto/taskProcessor"
"time"
)
func (n *Network) SendResult(ctx context.Context, client pb.TaskProcessorClient, tasksDone []shared.TaskResult) {
sendCtx, cancel := context.WithTimeout(ctx, time.Second*60)
defer cancel()
stream, err := client.SendResult(sendCtx)
if err != nil {
log.Fatalf("Error calling PostMerch: %v", err)
}
merchResponses := make([]pb.Result, len(tasksDone))
for i, task := range tasksDone {
merchResponses[i] = pb.Result{
MerchUuid: task.MerchUuid,
OriginName: task.Origin,
Price: task.Price,
}
}
for i := range merchResponses {
response := &merchResponses[i]
if err = stream.Send(response); err != nil {
log.Fatalf("Error sending request: %v", err)
}
}
//if err = stream.CloseSend(); err != nil {
// log.Fatalf("Error closing stream: %v", err)
//}
_, err = stream.CloseAndRecv()
if err != nil {
log.Fatalf("Error receiving response: %v", err)
}
}