218
// Also return a number that can be used to update readLevel
219
// Also return a bool to indicate whether read is finished
220
>
func (tr *taskReader) getTaskBatch(ctx context.Context) (*getTasksBatchResponse, error) {
task_reader.go
221
>
var tasks []*persistencespb.AllocatedTaskInfo
222
>
readLevel := tr.backlogMgr.taskAckManager.getReadLevel()
223
>
maxReadLevel := tr.backlogMgr.db.GetMaxReadLevel(subqueueZero)
224
>
225
>
// counter i is used to break and let caller check whether taskqueue is still alive and needs to resume read.
226
>
for i := 0; i < 10 && readLevel < maxReadLevel; i++ {
227
upper := min(readLevel+tr.backlogMgr.config.RangeSize, maxReadLevel)
228
tasks, err := tr.getTaskBatchWithRange(ctx, readLevel, upper)