def METHOD_NAME(self, workerN = 0, NWorkers = 1):
    """get task from front of list, blocks"""
    while len(self.openTasks) < 1:
        time.sleep(0.01)
    tasks = []
    if not 'Analysis.ChunkSize' in self.metaData.getEntryNames():
        cs = min(max(CHUNKSIZE, min(MAXCHUNKSIZE, len(self.openTasks))),len(self.openTasks))
    else:
        cs = min(self.metaData['Analysis.ChunkSize'], len(self.openTasks))
    for i in range(cs):
        taskNum = self.openTasks.pop(self.fTaskToPop(workerN, NWorkers, len(self.openTasks)))
        task = fitTask(dataSourceID=self.dataSourceID, frameIndex=taskNum, metadata=self.metaData, dataSourceModule = self.dataSourceModule)
        task.queueID = self.queueID
        task.initializeWorkerTimeout(time.clock())
        with self.inProgressLock:
            self.tasksInProgress.append(task)            
        tasks.append(task)
    self.lastTaskTime = time.time()
    return tasks