|
SMILA 1.0 API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||
java.lang.Objectorg.eclipse.smila.taskmanager.persistence.zk.ZkTaskQueue
public class ZkTaskQueue
Queue implementation wrapping a zookeeper client. Does not do ZooKeeper session handling, it must be done from the
calling context.
Zookeeper structure: (task-id nodes contain Task as data)
/smila/tasks/
| Field Summary | |
|---|---|
static java.lang.String |
INPROGRESSDIR_SUFFIX
prefix for task-in-progress directories. |
static java.lang.String |
OWNER_PROP
Property identifying owner of this task. |
static java.lang.String |
ROOT_DIR_PREFIX
prefix for task directories. |
static java.lang.String |
SECTION_INPROGRESS
Property for task-in-progress. |
static java.lang.String |
SECTION_TODO
Property for tasks-todo. |
static java.lang.String |
SECTION_TODOQUALIFIED
Property for qualified-tasks-todo. |
static java.lang.String |
TASKDIR_PREFIX
prefix for task directories. |
static java.lang.String |
TODODIR_SUFFIX
prefix for tasks-todo directories. |
static java.lang.String |
TODOQUALIFIEDDIR_SUFFIX
prefix for qualified-tasks-todo directories. |
| Constructor Summary | |
|---|---|
ZkTaskQueue(ZooKeeperService service,
java.lang.String workerName,
java.lang.String localhost)
|
|
ZkTaskQueue(ZooKeeperService service,
java.lang.String workerName,
java.lang.String localhost,
long maxNoOfTasksPerHost)
|
|
| Method Summary | |
|---|---|
void |
cleanEmptyNodes(long timeToLiveMs)
Remove empty task nodes in the todo(_qualified) directories (leftovers from failed create operations) empty todo_qualified directories that seem not to be in use anymore. |
void |
delete(java.lang.String taskId)
Deletes the given task from the inprogress section. |
void |
disconnectZkSession()
for testing only! |
Task |
get(java.lang.String qualifier,
java.lang.String host)
Return next task that can be processed. |
Task |
getInProgressTask(java.lang.String taskId)
read the task content of an in-progress task. |
long |
getMaxNoOfTasksPerHost()
|
TaskCounter |
getTaskCounter()
|
AnyMap |
getTaskInfo(java.lang.String section,
java.lang.String taskName)
Prepares information on a task stored in the task storage. |
TaskList |
getTaskList(java.lang.String section,
int maxCount)
Get task list for current task pipe and sub-type. |
java.util.Collection<java.lang.String> |
getTimedOutTasks(long timeToLiveMs)
|
java.lang.String |
getWorkerName()
return worker name. |
boolean |
hasQualifiedTasks()
|
void |
keepAlive(java.lang.String taskId)
Process isAlive call for given task. |
void |
purge()
Remove all tasks and qualifier nodes. |
void |
put(Task task)
Puts a task in our task pipe. |
java.lang.String |
putInProgress(Task task)
write task to in-progress section of the queue. |
void |
removeTasks(AnyMap filterMap)
Remove canceled tasks identified by the filter map. |
void |
setMaxNoOfTasksPerHost(long maxNoOfTasksPerHost)
set new scale-up limit. |
| Methods inherited from class java.lang.Object |
|---|
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait |
| Field Detail |
|---|
public static final java.lang.String ROOT_DIR_PREFIX
public static final java.lang.String TASKDIR_PREFIX
public static final java.lang.String TODODIR_SUFFIX
public static final java.lang.String TODOQUALIFIEDDIR_SUFFIX
public static final java.lang.String INPROGRESSDIR_SUFFIX
public static final java.lang.String OWNER_PROP
public static final java.lang.String SECTION_TODO
public static final java.lang.String SECTION_TODOQUALIFIED
public static final java.lang.String SECTION_INPROGRESS
| Constructor Detail |
|---|
public ZkTaskQueue(ZooKeeperService service,
java.lang.String workerName,
java.lang.String localhost)
service - zookeeper service needed to get zookeeper clientworkerName - name of worker for which we are managing taskslocalhost - local host name
public ZkTaskQueue(ZooKeeperService service,
java.lang.String workerName,
java.lang.String localhost,
long maxNoOfTasksPerHost)
service - zookeeper service needed to get zookeeper clientworkerName - name of worker for which we are managing taskslocalhost - local host namemaxNoOfTasksPerHost - | Method Detail |
|---|
public void disconnectZkSession()
throws TaskmanagerException
TaskmanagerExceptionpublic long getMaxNoOfTasksPerHost()
public void setMaxNoOfTasksPerHost(long maxNoOfTasksPerHost)
public java.lang.String getWorkerName()
public void put(Task task)
throws TaskmanagerException
task - the task
TaskmanagerException - error
public java.lang.String putInProgress(Task task)
throws TaskmanagerException
task - task
OWNER_PROP property.
TaskmanagerException
public Task get(java.lang.String qualifier,
java.lang.String host)
throws TaskmanagerException
qualifier - task qualifierhost - host name where the worker is running that requested the task, to be stored as property in the task
TaskmanagerException - error
public Task getInProgressTask(java.lang.String taskId)
throws TaskmanagerException
taskId - task Id
TaskmanagerException - if task is not in-progress or other errors.
public void delete(java.lang.String taskId)
throws TaskmanagerException
taskId - identifies the task
TaskmanagerException - error; BadParameterTaskmanagerException if taskId isn't found
public void keepAlive(java.lang.String taskId)
throws TaskmanagerException
taskId - identifies the task
TaskmanagerException - error; BadParameterTaskmanagerException if taskId isn't found
public boolean hasQualifiedTasks()
throws java.lang.Exception
java.lang.Exception
public TaskCounter getTaskCounter()
throws TaskmanagerException
TaskmanagerException - errorpublic java.util.Collection<java.lang.String> getTimedOutTasks(long timeToLiveMs)
timeToLiveMs - the maximum processing time
public void purge()
public void cleanEmptyNodes(long timeToLiveMs)
timeToLiveMs - time in milliseconds after which to clean up stale tasks or empty todo_qualified dirs.
public TaskList getTaskList(java.lang.String section,
int maxCount)
throws TaskmanagerException
section - task pipe sub-type: "inprogress" or "todo".maxCount - max. number of tasks in return list
TaskmanagerException - error
public AnyMap getTaskInfo(java.lang.String section,
java.lang.String taskName)
throws TaskmanagerException
section - queue section ("todo" or "inprogress")taskName - task identifier
TaskmanagerException - on errorpublic void removeTasks(AnyMap filterMap)
filterMap - map to identify tasks to be removed
|
SMILA 1.0 API documentation | ||||||||
| PREV CLASS NEXT CLASS | FRAMES NO FRAMES | ||||||||
| SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD | ||||||||