public interface TaskStorage
#startSession() and #endOfSession(String) calls to
get better performance.| Modifier and Type | Method and Description |
|---|---|
void |
clear()
remove all tasks from storage and reset all counters.
|
void |
createTaskQueue(java.lang.String name) |
void |
deleteTask(java.lang.String workerName,
java.lang.String taskId)
Remove the task from the inprogress part of the workers queue.
|
java.util.List<Task> |
filterDuplicates(java.util.List<Task> tasksToBeAdded)
return new list of tasks with only those tasks from the given task list
that do not have property
Task.PROPERTY_UNIQUENESS_TAG set or
for which currently no task is in the Todo queue that has the same uniqueness tag. |
long |
getFailSafetyLevel() |
Task |
getInProgressTask(java.lang.String workerName,
java.lang.String taskId)
read the task content of an in-progress task.
|
long |
getMaxNoOfTasksPerHost() |
java.util.Map<java.lang.String,java.lang.Integer> |
getScaleUpCounters() |
Task |
getTask(java.lang.String workerName,
java.lang.String workerHost,
java.util.Collection<java.lang.String> qualifiers)
Returns a task that's not "in process" from the given workerName for the given messageCondition.
|
java.util.Map<java.lang.String,TaskCounter> |
getTaskCounters()
Get number of tasks in all current queues.
|
Any |
getTaskInfo(java.lang.String workerName,
java.lang.String section,
java.lang.String taskName)
Prepares information on a task stored in the task storage.
|
TaskList |
getTaskList(java.lang.String workerName,
java.lang.String section,
int maxCount)
Get task list for current task pipe and sub-type.
|
boolean |
hasTaskQueue(java.lang.String name) |
boolean |
isLockedQualifier(java.lang.String workerName,
java.lang.String qualifier)
check if a lock exists for given worker and qualifier.
|
void |
keepAlive(java.lang.String workerName,
java.lang.String taskId)
Signals that the worker processing the given task is still alive.
|
void |
lockQualifiers(java.lang.String workerName,
java.util.Collection<java.lang.String> qualifiers)
prevent new todo tasks from being added for the given worker and qualifiers.
|
void |
purge(java.lang.String workerName)
Remove all tasks from the given task pipe.
|
void |
removeTasks(AnyMap filterMap)
Remove canceled tasks identified by the filter map from todo and in-progress queue.
|
void |
setMaxNoOfTasksPerHost(long maxTasks) |
void |
storeInProgressTask(Task task)
Stores a new task to the inprogress queue of the given task's worker.
|
void |
storeTask(java.lang.String workerName,
Task task)
Stores a new task to the todo queue of the given workerName.
|
void |
storeTask(Task task)
Stores a new task to the todo queue of the given task's worker.
|
void storeTask(Task task) throws TaskmanagerException
task - the task to store, contains the worker nameTaskmanagerException - if send failsvoid storeTask(java.lang.String workerName,
Task task)
throws TaskmanagerException
task - the task to store.workerName - the worker for which to store the task.TaskmanagerException - if send failsvoid storeInProgressTask(Task task) throws TaskmanagerException
task - the task to store, contains the worker nameTaskmanagerException - if send failsTask getTask(java.lang.String workerName, java.lang.String workerHost, java.util.Collection<java.lang.String> qualifiers) throws TaskmanagerException
workerName - the workerName where to get the task from.workerHost - the host name where the worker is running that requested the taskqualifiers - if not null, allowed qualifiers of returned task.null if there is none
available.TaskmanagerException - if receive failsTask getInProgressTask(java.lang.String workerName, java.lang.String taskId) throws TaskmanagerException
workerName - name of workertaskId - task IdTaskmanagerException - if task is not in-progress or other errors.void deleteTask(java.lang.String workerName,
java.lang.String taskId)
throws TaskmanagerException
workerName - the workerName from where the task was originally get.taskId - the task identifier.TaskmanagerException - if taskId is invalid or not marked as finishingvoid keepAlive(java.lang.String workerName,
java.lang.String taskId)
throws TaskmanagerException
workerName - name/id as stringtaskId - task id that is currently processed as stringTaskmanagerException - if any error occursvoid purge(java.lang.String workerName)
throws TaskmanagerException
workerName - name/id as stringTaskmanagerException - if any error occursvoid lockQualifiers(java.lang.String workerName,
java.util.Collection<java.lang.String> qualifiers)
workerName - a worker's namequalifiers - a list of qualifiers to lockboolean isLockedQualifier(java.lang.String workerName,
java.lang.String qualifier)
throws TaskmanagerException
TaskmanagerExceptionjava.util.Map<java.lang.String,TaskCounter> getTaskCounters() throws TaskmanagerException
TaskmanagerException - counting failsTaskList getTaskList(java.lang.String workerName, java.lang.String section, int maxCount) throws TaskmanagerException
workerName - name/id as stringsection - task pipe sub-type: "inprogress" or "todo".maxCount - max. number of tasks in return listTaskmanagerException - if accessing task list failsAny getTaskInfo(java.lang.String workerName, java.lang.String section, java.lang.String taskName) throws TaskmanagerException
workerName - pipe in which the task is storedsection - queue section ("todo" or "inprogress")taskName - task identifierTaskmanagerException - on errorlong getFailSafetyLevel()
void clear()
throws TaskmanagerException
TaskmanagerException - errorvoid setMaxNoOfTasksPerHost(long maxTasks)
maxTasks - maximum number of tasks that should be delivered to a host. (scale up control)long getMaxNoOfTasksPerHost()
java.util.Map<java.lang.String,java.lang.Integer> getScaleUpCounters()
throws TaskmanagerException
TaskmanagerException - on error.void removeTasks(AnyMap filterMap) throws TaskmanagerException
filterMap - map to identify tasks to be removedTaskmanagerException - an exception if something went wrongvoid createTaskQueue(java.lang.String name)
throws TaskmanagerException
name - the name of the task queue to create.TaskmanagerExceptionboolean hasTaskQueue(java.lang.String name)
throws TaskmanagerException
name - the task queue name to checkTaskmanagerExceptionjava.util.List<Task> filterDuplicates(java.util.List<Task> tasksToBeAdded) throws TaskmanagerException
Task.PROPERTY_UNIQUENESS_TAG set or
tasksToBeAdded - tasks created as follow-up tasks but not yet added to the task managerTaskmanagerException