2025-10-02 20:35:53 +03:00
|
|
|
package network
|
|
|
|
|
|
|
|
|
|
import (
|
|
|
|
|
"context"
|
|
|
|
|
log "github.com/sirupsen/logrus"
|
|
|
|
|
"google.golang.org/protobuf/types/known/emptypb"
|
|
|
|
|
"io"
|
2025-10-03 19:17:01 +03:00
|
|
|
"task-processor/internal/shared"
|
|
|
|
|
pb "task-processor/proto/taskProcessor"
|
2025-10-02 20:35:53 +03:00
|
|
|
)
|
|
|
|
|
|
|
|
|
|
func (n *Network) RequestTasks(ctx context.Context, client pb.TaskProcessorClient) []shared.TaskResponse {
|
|
|
|
|
var tasksList []shared.TaskResponse
|
|
|
|
|
stream, err := client.RequestTask(ctx, &emptypb.Empty{})
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.WithField("err", err).Error("Error calling Request Tasks")
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
for {
|
|
|
|
|
response, err := stream.Recv()
|
|
|
|
|
if err == io.EOF {
|
|
|
|
|
break
|
|
|
|
|
}
|
|
|
|
|
if err != nil {
|
|
|
|
|
log.WithField("err", err).Error("Error receiving response")
|
|
|
|
|
return nil
|
|
|
|
|
}
|
|
|
|
|
|
|
|
|
|
tasksList = append(tasksList, shared.TaskResponse{
|
|
|
|
|
MerchUuid: response.MerchUuid,
|
|
|
|
|
OriginSurugayaLink: response.OriginSurugayaLink,
|
|
|
|
|
OriginMandarakeLink: response.OriginMandarakeLink,
|
|
|
|
|
})
|
|
|
|
|
log.WithField("entry added", response.MerchUuid).Debug("gRPC Receive")
|
|
|
|
|
}
|
|
|
|
|
return tasksList
|
|
|
|
|
}
|