SMILA 1.0 API documentation

org.eclipse.smila.jobmanager.internal
Class JobTaskProcessorImpl

java.lang.Object
  extended by org.eclipse.smila.jobmanager.internal.JobTaskProcessorImpl
All Implemented Interfaces:
JobTaskProcessor

public class JobTaskProcessorImpl
extends java.lang.Object
implements JobTaskProcessor

Implements JobTaskProcessor.


Constructor Summary
JobTaskProcessorImpl()
           
 
Method Summary
protected  void activate(ComponentContext context)
          OSGi Declarative Services service activation method.
 java.util.List<Task> finishTask(Task currentTask)
          Finishes a task and retrieves the following tasks.
 Task getInitialTask(java.lang.String workerName, java.lang.String jobName)
          Creates an initial task for input-workers.
protected  void handleFatalError(java.lang.String jobName, java.lang.String jobRunId, java.lang.String workflowRunId, java.lang.String workerName, Task currentTask, boolean failedAfterRetry)
          fatal error -> workflow run failed.
protected  void handleObsoleteTask(java.lang.String jobName, java.lang.String jobRunId, java.lang.String workflowRunId, java.lang.String workerName, Task currentTask)
          finish obsolete task - don't create follow up tasks.
protected  java.util.List<Task> handleRecoverableTaskError(java.lang.String jobName, java.lang.String jobRunId, java.lang.String workflowRunId, java.lang.String workerName, Task currentTask, ResultDescription resultDescription)
           
protected  void handleRecoverableTaskWithAutocommit(java.lang.String jobName, java.lang.String jobRunId, java.lang.String workflowRunId, java.lang.String workerName, Task currentTask, ResultDescription resultDescription, java.util.List<Task> followUpTasks)
          recoverable error on an AUTOCOMMIT worker's task -> task is handled as succeeded.
protected  java.util.List<Task> handleSuccessfulTask(java.lang.String jobName, java.lang.String jobRunId, java.lang.String workflowRunId, java.lang.String workerName, Task currentTask, java.util.Map<java.lang.String,java.lang.Number> workerCounter)
           
 void setClusterConfigService(ClusterConfigService clusterConfigService)
          set OSGI service.
 void setDefinitionPersistence(DefinitionPersistence defPersistence)
          set OSGI service.
 void setJobRunEngine(JobRunEngine runEngine)
          set OSGI service.
 void setObjectStoreService(ObjectStoreService objectStore)
          set OSGI service.
 void setRunStorage(RunStorage runStorage)
          set OSGI service.
 void setTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
          set OSGI service.
 void setTaskManager(TaskManager taskManager)
          set OSGI service.
 void unsetClusterConfigService(ClusterConfigService clusterConfigService)
          unset OSGI service.
 void unsetDefinitionPersistence(DefinitionPersistence defPersistence)
          unset OSGI service.
 void unsetJobRunEngine(JobRunEngine runEngine)
          unset OSGI service.
 void unsetObjectStoreService(ObjectStoreService objectStore)
          unset OSGI service.
 void unsetRunStorage(RunStorage runStorage)
          unset OSGI service.
 void unsetTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
          unset OSGI service.
 void unsetTaskManager(TaskManager taskManager)
          unset OSGI service.
 
Methods inherited from class java.lang.Object
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
 

Constructor Detail

JobTaskProcessorImpl

public JobTaskProcessorImpl()
Method Detail

activate

protected void activate(ComponentContext context)
OSGi Declarative Services service activation method.

Parameters:
context - OSGi service component context.

finishTask

public java.util.List<Task> finishTask(Task currentTask)
                                throws JobManagerException
Description copied from interface: JobTaskProcessor
Finishes a task and retrieves the following tasks. Dependent on the resultDescription job manager can decide what to do.

Specified by:
finishTask in interface JobTaskProcessor
Parameters:
currentTask - The finished task.
Returns:
A list of follow up tasks. If there are no follow-up tasks, an empty list will be generated.
Throws:
JobManagerException - error while trying to finish the task.

getInitialTask

public Task getInitialTask(java.lang.String workerName,
                           java.lang.String jobName)
                    throws JobManagerException
Description copied from interface: JobTaskProcessor
Creates an initial task for input-workers.

Specified by:
getInitialTask in interface JobTaskProcessor
Parameters:
workerName - The name of the worker for which this task is requested.
jobName - The id of the task-source (e.g. index name, job id, ...) for which the task is requested. The TaskProducer and the worker requester of the tasks should have a common understanding of what this id is about.
Returns:
A task for the worker or null if task delivery is currently not allowed for this id.
Throws:
JobManagerException - error while trying to generate initial task. The job has not the correct state or the worker is not an startAction worker.

handleSuccessfulTask

protected java.util.List<Task> handleSuccessfulTask(java.lang.String jobName,
                                                    java.lang.String jobRunId,
                                                    java.lang.String workflowRunId,
                                                    java.lang.String workerName,
                                                    Task currentTask,
                                                    java.util.Map<java.lang.String,java.lang.Number> workerCounter)
                                             throws JobManagerException
Returns:
the follow up tasks of the task that is successfully finished.
Throws:
JobManagerException

handleObsoleteTask

protected void handleObsoleteTask(java.lang.String jobName,
                                  java.lang.String jobRunId,
                                  java.lang.String workflowRunId,
                                  java.lang.String workerName,
                                  Task currentTask)
                           throws JobManagerException
finish obsolete task - don't create follow up tasks.

Throws:
JobManagerException

handleRecoverableTaskError

protected java.util.List<Task> handleRecoverableTaskError(java.lang.String jobName,
                                                          java.lang.String jobRunId,
                                                          java.lang.String workflowRunId,
                                                          java.lang.String workerName,
                                                          Task currentTask,
                                                          ResultDescription resultDescription)
                                                   throws JobManagerException
Returns:
follow up tasks. This could be the current task in case of a retry. If the number of retries exceeded no follow up tasks are generated. In case of mode AUTOCOMMIT task is handled as succeeded.
Throws:
JobManagerException

handleRecoverableTaskWithAutocommit

protected void handleRecoverableTaskWithAutocommit(java.lang.String jobName,
                                                   java.lang.String jobRunId,
                                                   java.lang.String workflowRunId,
                                                   java.lang.String workerName,
                                                   Task currentTask,
                                                   ResultDescription resultDescription,
                                                   java.util.List<Task> followUpTasks)
                                            throws JobManagerException
recoverable error on an AUTOCOMMIT worker's task -> task is handled as succeeded.

Throws:
JobManagerException

handleFatalError

protected void handleFatalError(java.lang.String jobName,
                                java.lang.String jobRunId,
                                java.lang.String workflowRunId,
                                java.lang.String workerName,
                                Task currentTask,
                                boolean failedAfterRetry)
                         throws JobManagerException
fatal error -> workflow run failed.

Throws:
JobManagerException

setDefinitionPersistence

public void setDefinitionPersistence(DefinitionPersistence defPersistence)
set OSGI service.


unsetDefinitionPersistence

public void unsetDefinitionPersistence(DefinitionPersistence defPersistence)
unset OSGI service.


setRunStorage

public void setRunStorage(RunStorage runStorage)
set OSGI service.


unsetRunStorage

public void unsetRunStorage(RunStorage runStorage)
unset OSGI service.


setObjectStoreService

public void setObjectStoreService(ObjectStoreService objectStore)
set OSGI service.


unsetObjectStoreService

public void unsetObjectStoreService(ObjectStoreService objectStore)
unset OSGI service.


setTaskGeneratorProvider

public void setTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
set OSGI service.


unsetTaskGeneratorProvider

public void unsetTaskGeneratorProvider(TaskGeneratorProvider taskGeneratorProvider)
unset OSGI service.


setTaskManager

public void setTaskManager(TaskManager taskManager)
set OSGI service.


unsetTaskManager

public void unsetTaskManager(TaskManager taskManager)
unset OSGI service.


setClusterConfigService

public void setClusterConfigService(ClusterConfigService clusterConfigService)
set OSGI service.


unsetClusterConfigService

public void unsetClusterConfigService(ClusterConfigService clusterConfigService)
unset OSGI service.


setJobRunEngine

public void setJobRunEngine(JobRunEngine runEngine)
set OSGI service.


unsetJobRunEngine

public void unsetJobRunEngine(JobRunEngine runEngine)
unset OSGI service.


SMILA 1.0 API documentation