diff --git a/internal/task/service.go b/internal/task/service.go index 39cba20..cf5c3a7 100644 --- a/internal/task/service.go +++ b/internal/task/service.go @@ -23,9 +23,12 @@ func newService(mp common.MerchProvider) *service { } func (s *service) RequestTasks(_ *emptypb.Empty, stream tt.TaskProcessor_RequestTasksServer) error { - tasks, err := s.merchProvider.GetTasks(stream.Context()) + ctx, cancel := context.WithCancel(context.Background()) + + tasks, err := s.merchProvider.GetTasks(ctx) if err != nil { log.WithError(err).Errorf("%v Failed to get tasks", pkgLogHeader) + cancel() return err } @@ -35,10 +38,11 @@ func (s *service) RequestTasks(_ *emptypb.Empty, stream tt.TaskProcessor_Request Origins: task.Origins, }); err != nil { log.WithError(err).Errorf("%v Failed to send tasks", pkgLogHeader) + cancel() return err } } - + cancel() return nil }