fenzo-core/src/main/java/com/netflix/fenzo/TaskSchedulingService.java
public void requestAllTasks(Action1<Map<TaskQueue.TaskState, Collection<QueuableTask>>> action) throws TaskQueueException {
        if (!taskMapRequest.offer(action))
            throw new TaskQueueException("Too many pending actions submitted for getting tasks collection");
    }
public void requestAllTasks(Action1<Map<TaskQueue.TaskState, Collection<QueuableTask>>> action) throws TaskQueueException {
        if (!taskMapRequest.offer(action))
            throw new TaskQueueException("Too many pending actions submitted for getting tasks collection");
    }
Get all of the tasks in the scheduling service's queue and call the given action when it is available. The
list of queues returned is in a consistent state, that is, transitionary actions from ongoing scheduling
iterations do not affect the returned collection of tasks. Although an ongoing scheduling iteration is
unaffected by this call, onset of the next scheduling iteration may be delayed until the call to the given
{@code action} returns. Therefore, it is expected that the {@code action} callback return quickly.
@param action The action to call with task collection.
@throws TaskQueueException if too many actions are pending to get tasks collection.