public class SchedulerClient extends ClientBase implements ISchedulerClient
Modifier and Type | Method and Description |
---|---|
void |
addEventListener(SchedulerEventListener listener,
boolean myEventsOnly,
SchedulerEvent... events)
Add a scheduler event Listener.
|
void |
changeJobPriority(JobId jobId,
JobPriority priority)
Change the priority of the job represented by jobId.
Only administrator can change the priority to HIGH, HIGEST, IDLE. |
void |
changeJobPriority(String jobId,
JobPriority priority)
Change the priority of the job represented by jobId.
Only administrator can change the priority to HIGH, HIGEST, IDLE. The jobId is given as a string. |
boolean |
changeStartAt(JobId jobId,
String startAt)
Change the START_AT generic information at job level and reset the
scheduledAt at task level
|
boolean |
checkJobPermissionMethod(String sessionId,
String jobId,
String method)
Check if the user has the permission to execute the method passed as argument
|
static ISchedulerClient |
createInstance()
Creates an ISchedulerClient instance.
|
boolean |
deleteFile(String space,
String pathname)
Deletes the specified file from the server.
|
void |
disconnect()
Disconnect properly the user from the scheduler.
|
boolean |
finishInErrorTask(String jobId,
String taskName) |
boolean |
freeze()
For administrator only, Freeze the scheduler by terminating running
tasks.
|
List<JobUsage> |
getAccountUsage(String user,
Date start,
Date end)
Returns details on job and task execution times for a given user's executions.
|
ConnectionInfo |
getConnectionInfo()
Returns the connection info, if initialized previously
|
String |
getCurrentPolicy()
Return the name of the current Policy
|
String |
getCurrentUser()
Returns the user currently connected
|
UserData |
getCurrentUserData()
Returns the user data object associated with the user currently connected
|
List<String> |
getGlobalSpaceURIs()
Returns the GLOBAL DataSpace URI available to all users
|
String |
getJobContent(JobId jobId) |
JobInfo |
getJobInfo(String jobId)
Retrieve a job info by it id.
|
JobResult |
getJobResult(JobId jobId)
Get the result for the given jobId.
|
JobResult |
getJobResult(String jobId)
Get the result for the given jobId.
The jobId is given as a string. |
Page<JobInfo> |
getJobs(int index,
int range,
JobFilterCriteria criteria,
List<SortParameter<JobSortParameter>> arg3)
Retrieves a job list of the scheduler.
|
String |
getJobServerLogs(String jobId)
Retrieves server logs for a job with the given id.
|
List<JobInfo> |
getJobsInfoList(List<String> jobsId)
Returns a list of jobs info corresponding to the given job IDs (in the same order)
|
JobState |
getJobState(JobId jobId)
Return the state of the given job.
The state contains informations about the job, every tasks and informations about the tasks. A user can only get the state of HIS job. If the job does not exist, a schedulerException is sent with the proper message. |
JobState |
getJobState(String jobId)
Return the state of the given job.
The state contains informations about the job, every tasks and informations about the tasks. The jobId is given as a string. |
Map |
getJobsToSchedule()
get job Descriptor Map with eligible jobs (running and pending)
|
List<JobUsage> |
getMyAccountUsage(Date startDate,
Date endDate)
Returns details on job and task execution times for the caller's executions.
|
Map<Object,Object> |
getPortalConfiguration() |
Map<String,Object> |
getSchedulerProperties()
Returns the scheduler properties associated with the user currently connected
|
String |
getSession()
Retrieves the current session identifier, or null if the session was not initialized yet.
|
SchedulerStatus |
getStatus()
Get the current status of the Scheduler
|
Page<TaskId> |
getTaskIds(String taskTag,
long from,
long to,
boolean mytasks,
boolean running,
boolean pending,
boolean finished,
int offset,
int limit)
Retrieve a tasks names list from the scheduler.
|
TaskStatesPage |
getTaskPaginated(String jobId,
int offset,
int limit)
Return the page of tasks of the given job.
|
TaskResult |
getTaskResult(JobId jobId,
String taskName)
Get the result for the given task name in the given jobId.
|
TaskResult |
getTaskResult(String jobId,
String taskName)
Get the result for the given task name in the given jobId.
|
List<TaskResult> |
getTaskResultsByTag(JobId jobId,
String taskTag)
Get the results for a set of tasks in the given jobId and filtered by a
given tag.
|
List<TaskResult> |
getTaskResultsByTag(String jobId,
String taskTag)
Get the results for a set of tasks in the given jobId and filtered by a
given tag.
|
String |
getTaskServerLogs(String jobId,
String taskName)
Retrieves server logs for a task with the given id.
|
String |
getTaskServerLogsByTag(String jobId,
String tag)
Retrieves server logs for a set of tasks filtered by the given tag.
|
Page<TaskState> |
getTaskStates(String taskTag,
long from,
long to,
boolean mytasks,
boolean running,
boolean pending,
boolean finished,
int offset,
int limit,
SortSpecifierContainer sortParams)
Retrieve a taskstates list from the scheduler.
|
List<TaskDescriptor> |
getTasksToSchedule()
get task descriptor list with eligible tasks (running)
|
List<SchedulerUserInfo> |
getUsers()
Returns a list of connected users.
|
List<String> |
getUserSpaceURIs()
Returns the USER DataSpace URIs associated with the current user
|
List<SchedulerUserInfo> |
getUsersWithJobs()
Returns a list of users having jobs.
|
void |
init(ConnectionInfo connectionInfo)
Initialize this instance.
|
boolean |
isConnected()
Test whether or not the user is connected to the ProActive Scheduler.
|
boolean |
isJobFinished(JobId jobId)
Returns true, if the scheduler has finished the execution of the
specified job.
|
boolean |
isJobFinished(String jobId)
Returns true, if the scheduler has terminated the execution of
the specified job.
|
boolean |
isTaskFinished(String jobId,
String taskName)
Returns true, if the scheduler has finished the execution of the
task.
|
boolean |
kill()
For administrator only, Kill the scheduler.
Will stop the scheduling, and shutdown the scheduler. |
boolean |
killJob(JobId jobId)
Kill the job represented by jobId.
This method will kill every running tasks of this job, and remove it from the scheduler. The job won't be terminated, it won't have result. |
boolean |
killJob(String jobId)
Kill the job represented by jobId.
This method will kill every running tasks of this job, and remove it from the scheduler. The job won't be terminated, it won't have result. The jobId is given as a string. |
boolean |
killTask(JobId jobId,
String taskName)
Try to kill the task with the given task name in the given jobId.
|
boolean |
killTask(String jobId,
String taskName)
Try to kill the task with the given task name in the given jobId.
|
boolean |
linkResourceManager(String rmUrl)
For administrator only, Reconnect a new Resource Manager to the
scheduler.
|
boolean |
pause()
For administrator only, Pause the scheduler by terminating running jobs.
|
boolean |
pauseJob(JobId jobId)
Pause the job represented by jobId.
This method will finish every running tasks of this job, and then pause the job. The job will have to be resumed in order to finish. |
boolean |
pauseJob(String jobId)
Pause the job represented by jobId.
This method will finish every running tasks of this job, and then pause the job. The job will have to be resumed in order to finish. The jobId is given as a string. |
boolean |
preemptTask(JobId jobId,
String taskName,
int restartDelay)
Try to stop the task execution represented by the given task name in the
given jobId.
|
boolean |
preemptTask(String jobId,
String taskName,
int restartDelay)
Try to stop the task execution represented by the given task name in the
given jobId.
If the job does not exist, an UnknownJobException is sent with the proper message. So, if you have the right to stop this task and if the job and task name exist and is running, the task will be stopped and restarted later and this method will return true .The given delay is the delay between the task termination and it's eligibility to be re-scheduled. |
void |
pullFile(String space,
String pathname,
String outputFile)
Retrieves the specified file from the server.
|
boolean |
pushFile(String spacename,
String pathname,
String filename,
String file)
Transfers the specified file from the local file system to the specified
dataspace at the server
|
void |
putThirdPartyCredential(String key,
String value)
Stores a third-party credential key-value pair in the database.
|
void |
removeEventListener()
Remove the current event listener your listening on.
If no listener is defined, this method has no effect. |
boolean |
removeJob(JobId jobId)
Remove the job from the scheduler.
|
boolean |
removeJob(String jobId)
Remove the job from the scheduler.
|
void |
removeThirdPartyCredential(String key) |
void |
renewSession()
This method renew the connection lease without other side effect.
|
boolean |
restartAllInErrorTasks(String jobId)
Restart all in error tasks in the job represented by jobId.
This method will restart every in error tasks of this job. The jobId is given as a string. |
boolean |
restartInErrorTask(String jobId,
String taskName) |
boolean |
restartTask(JobId jobId,
String taskName,
int restartDelay)
Try to restart the task represented by the given task name in the given
jobId.
|
boolean |
restartTask(String jobId,
String taskName,
int restartDelay)
Try to restart the task represented by the given task name in the given
jobId.
|
boolean |
resume()
For administrator only, Resume the scheduler.
|
boolean |
resumeJob(JobId jobId)
Resume the job represented by jobId.
This method will restart every non-finished tasks of this job. |
boolean |
resumeJob(String jobId)
Resume the job represented by jobId.
This method will restart every non-finished tasks of this job. The jobId is given as a string. |
void |
setSession(String sid)
Sets the session identifier explicitly.
|
boolean |
shutdown()
For administrator only, Terminate the scheduler after all currently running tasks are finished.
|
boolean |
start()
For administrator only, Start the scheduler.
|
boolean |
stop()
For administrator only, Stop the scheduler.
Once done, you won't be able to submit job, and the scheduling will be stopped. Every running jobs will be terminated. |
JobId |
submit(File job)
Submit a new job to the scheduler.
|
JobId |
submit(File job,
Map<String,String> variables)
Submit a new job to the scheduler with provided variables.
|
JobId |
submit(File job,
Map<String,String> variables,
Map<String,String> genericInfos)
Submit a new job to the scheduler with provided variables.
|
JobId |
submit(Job job)
Submit a new job to the scheduler.
|
JobId |
submit(Map<String,String> genericInfos,
URL job,
Map<String,String> variables)
Submit a new job to the scheduler with provided variables.
|
JobId |
submit(URL job)
Submit a new job to the scheduler.
|
JobId |
submit(URL job,
Map<String,String> variables)
Submit a new job to the scheduler with provided variables.
|
JobId |
submit(URL job,
Map<String,String> variables,
Map<String,String> requestHeaderParams)
Submit a new job to the scheduler with provided variables.
|
JobId |
submit(URL job,
Map<String,String> variables,
Map<String,String> genericInfos,
Map<String,String> requestHeaderParams)
Submit a new job to the scheduler with provided variables.
|
JobId |
submitFromCatalog(String catalogRestURL,
String calledWorkflow)
Submit a new job to the scheduler from the catalogRestURL without provided variables.
|
JobId |
submitFromCatalog(String catalogRestURL,
String calledWorkflow,
Map<String,String> variables)
Submit a new job to the scheduler from the catalogRestURL with provided variables.
|
JobId |
submitFromCatalog(String catalogRestURL,
String calledWorkflow,
Map<String,String> variables,
Map<String,String> genericInfo)
Submit a new job to the scheduler from the catalogRestURL with provided variables ang generic information.
|
JobId |
submitFromCatalog(String catalogRestURL,
String bucketName,
String workflowName)
Submit a new job to the scheduler from the catalogRestURL without variables.
|
JobId |
submitFromCatalog(String catalogRestURL,
String bucketName,
String workflowName,
Map<String,String> variables)
Submit a new job to the scheduler from the catalogRestURL with provided variables.
|
JobId |
submitFromCatalog(String catalogRestURL,
String bucketName,
String workflowName,
Map<String,String> variables,
Map<String,String> genericInfo)
Submit a new job to the scheduler from the catalogRestURL with provided variables.
|
Set<String> |
thirdPartyCredentialsKeySet() |
List<JobResult> |
waitForAllJobs(List<String> jobIds,
long timeout)
Causes the current thread to wait until the execution of all specified
jobs has finished or the elapse of specified wait time.
|
List<Map.Entry<String,TaskResult>> |
waitForAllTasks(String jobId,
List<String> taskNames,
long timeout)
Causes the current thread to wait until all the executions of specified
tasks finish or the elapse of specified amount of time.
|
Map.Entry<String,JobResult> |
waitForAnyJob(List<String> jobIds,
long timeout)
Causes the current thread to wait until the execution of any job finishes
or the elapse of the specified wait time.
|
Map.Entry<String,TaskResult> |
waitForAnyTask(String jobId,
List<String> taskNames,
long timeout)
Causes the current thread to wait until any of the specified tasks
finishes or the elapse of specified amount of time.
|
JobResult |
waitForJob(JobId jobId,
long timeout)
Causes the current thread to wait until the scheduler has finished the
execution of the specified job or the specified amount of time has
elapsed.
|
JobResult |
waitForJob(String jobId,
long timeout)
Causes the current thread to wait until the scheduler has finished the
execution of the specified job or the specified amount of time has
elapsed.
|
TaskResult |
waitForTask(String jobId,
String taskName,
long timeout)
Causes the current thread to wait until the scheduler has finished
executing the specified task or the elapse of specified elapse time.
|
addEventListener, changePolicy, getState, getState, getTaskResultAllIncarnations, getTaskResultAllIncarnations, getTaskResultFromIncarnation, getTaskResultFromIncarnation, listenJobLogs, listenJobLogs, reloadPolicyConfiguration
clone, equals, finalize, getClass, hashCode, notify, notifyAll, toString, wait, wait, wait
addEventListener, changePolicy, getState, getState, getTaskResultAllIncarnations, getTaskResultAllIncarnations, getTaskResultFromIncarnation, getTaskResultFromIncarnation, listenJobLogs, listenJobLogs, reloadPolicyConfiguration
public static ISchedulerClient createInstance()
public void init(ConnectionInfo connectionInfo) throws Exception
ISchedulerClient
init
in interface ISchedulerClient
connectionInfo
- various info about the connection attemptException
- if an error occurs during the initializationpublic ConnectionInfo getConnectionInfo()
ISchedulerClient
getConnectionInfo
in interface ISchedulerClient
public List<JobUsage> getAccountUsage(String user, Date start, Date end) throws NotConnectedException, PermissionException
SchedulerUsage
Only the jobs finished between the start date and the end date will be returned:
i.e startDate <= job.finishedTime <= endDate
.
If user is the same as the caller, then it will fallback to to SchedulerUsage.getMyAccountUsage(Date, Date)
.
getAccountUsage
in interface SchedulerUsage
user
- must match a username as defined in the Scheduler's usersstart
- must not be null, inclusiveend
- must not be null, inclusiveJobUsage
objects where job finished times are between start date and end dateNotConnectedException
- if the caller is not connectedPermissionException
- if the caller hasn't the permission to call this methodpublic List<JobUsage> getMyAccountUsage(Date startDate, Date endDate) throws NotConnectedException, PermissionException
SchedulerUsage
Only the jobs finished between the start date and the end date will be returned:
i.e startDate <= job.finishedTime <= endDate
.
getMyAccountUsage
in interface SchedulerUsage
startDate
- must not be null, inclusiveendDate
- must not be null, inclusiveJobUsage
objects where job finished times are between start date and end dateNotConnectedException
- if the caller is not connectedPermissionException
- if the caller hasn't the permission to call this methodpublic void changeJobPriority(JobId jobId, JobPriority priority) throws NotConnectedException, UnknownJobException, PermissionException, JobAlreadyFinishedException
Scheduler
changeJobPriority
in interface Scheduler
jobId
- the job on which to change the priority.priority
- The new priority to apply to the job.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.JobAlreadyFinishedException
- if you want to change the priority on a finished job.public void changeJobPriority(String jobId, JobPriority priority) throws NotConnectedException, UnknownJobException, PermissionException, JobAlreadyFinishedException
Scheduler
JobId.value()
method.changeJobPriority
in interface Scheduler
jobId
- the job on which to change the priority.priority
- The new priority to apply to the job.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.JobAlreadyFinishedException
- if you want to change the priority on a finished job.public void disconnect() throws NotConnectedException, PermissionException
Scheduler
disconnect
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.public boolean freeze() throws NotConnectedException, PermissionException
Scheduler
freeze
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public JobResult getJobResult(JobId jobId) throws NotConnectedException, PermissionException, UnknownJobException
Scheduler
getJobResult
in interface Scheduler
jobId
- the job on which the result will be sendNotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular job.UnknownJobException
- if the job does not exist.public JobResult getJobResult(String jobId) throws NotConnectedException, PermissionException, UnknownJobException
Scheduler
JobId.value()
method.getJobResult
in interface Scheduler
jobId
- the job on which the result will be sendNotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular job.UnknownJobException
- if the job does not exist.public JobState getJobState(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.getJobState
in interface Scheduler
jobId
- the job on which to get the state.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public JobState getJobState(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
getJobState
in interface Scheduler
jobId
- the job on which to get the state.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public Page<JobInfo> getJobs(int index, int range, JobFilterCriteria criteria, List<SortParameter<JobSortParameter>> arg3) throws NotConnectedException, PermissionException
Scheduler
getJobs
in interface Scheduler
index
- says to start from this job isrange
- max number of jobs to retrievecriteria
- defines types of job (myonly, pending, running, finished).
Important! If user tries to get all jobs (myonly is false) but
does not have permissions to do it (namely
HandleOnlyMyJobsPermission(true)) user will get his own jobs
instead of a PermissionException. This behavior should
simplify the client design.arg3
- defines in how jobs must be sortedNotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public List<JobInfo> getJobsInfoList(List<String> jobsId) throws PermissionException, NotConnectedException
Scheduler
getJobsInfoList
in interface Scheduler
jobsId
- the list of id of the jobs to return, in the same orderPermissionException
- if you have not enough permission to access this method.NotConnectedException
- if you are not authenticated.public String getJobServerLogs(String jobId) throws UnknownJobException, NotConnectedException, PermissionException
Scheduler
getJobServerLogs
in interface Scheduler
jobId
- of the job for which logs are requestedUnknownJobException
- if the job does not exist.NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public SchedulerStatus getStatus() throws NotConnectedException, PermissionException
Scheduler
getStatus
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.public TaskResult getTaskResult(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
JobId.value()
method.getTaskResult
in interface Scheduler
jobId
- the job in which the task result is.taskName
- the name of the task in which the result is.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job.public TaskResult getTaskResult(JobId jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
getTaskResult
in interface Scheduler
jobId
- the job in which the task result is.taskName
- the name of the task in which the result is.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job.public List<TaskResult> getTaskResultsByTag(JobId jobId, String taskTag) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
getTaskResultsByTag
in interface Scheduler
jobId
- the job in which the task result is.taskTag
- the tag used to filter the tasks in which the result is.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public List<TaskResult> getTaskResultsByTag(String jobId, String taskTag) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.getTaskResultsByTag
in interface Scheduler
jobId
- the job in which the task result is.taskTag
- the tag used to filter the tasks in which the result is.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public String getTaskServerLogs(String jobId, String taskName) throws UnknownJobException, UnknownTaskException, NotConnectedException, PermissionException
Scheduler
getTaskServerLogs
in interface Scheduler
jobId
- of the job where the task is.taskName
- the name of the task.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public String getTaskServerLogsByTag(String jobId, String tag) throws UnknownJobException, NotConnectedException, PermissionException
Scheduler
getTaskServerLogsByTag
in interface Scheduler
jobId
- of the job where the task is.tag
- the tag used to filter tasks.UnknownJobException
- if the job does not exist.NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public List<SchedulerUserInfo> getUsers() throws NotConnectedException, PermissionException
Scheduler
getUsers
in interface Scheduler
NotConnectedException
PermissionException
public List<SchedulerUserInfo> getUsersWithJobs() throws NotConnectedException, PermissionException
Scheduler
SchedulerUsage
getUsersWithJobs
in interface Scheduler
NotConnectedException
PermissionException
public boolean isConnected()
Scheduler
isConnected
in interface Scheduler
public String getCurrentPolicy() throws NotConnectedException, PermissionException
Scheduler
getCurrentPolicy
in interface Scheduler
NotConnectedException
PermissionException
public Map getJobsToSchedule() throws NotConnectedException, PermissionException
Scheduler
getJobsToSchedule
in interface Scheduler
NotConnectedException
PermissionException
public List<TaskDescriptor> getTasksToSchedule() throws NotConnectedException, PermissionException
Scheduler
getTasksToSchedule
in interface Scheduler
getTasksToSchedule
in class ClientBase
NotConnectedException
PermissionException
public boolean kill() throws NotConnectedException, PermissionException
Scheduler
kill
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean killJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
killJob
in interface Scheduler
jobId
- the job to kill.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean killJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.killJob
in interface Scheduler
jobId
- the job to kill.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean killTask(JobId jobId, String taskName) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
If the job does not exist, an UnknownJobException is sent with the proper message.
So, if you have the right to kill this task and if the job and task name
exist and is running, the task will be killed and this method will return
true
. In any other cases a SchedulerException
will
be thrown.
killTask
in interface Scheduler
jobId
- the job containing the task to be killed.taskName
- the name of the task to kill.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job and task.public boolean killTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
true
.SchedulerException
will be thrown.killTask
in interface Scheduler
jobId
- the job containing the task to be killed.taskName
- the name of the task to kill.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job and task.public boolean linkResourceManager(String rmUrl) throws NotConnectedException, PermissionException
Scheduler
Can be used if the resource manager has crashed.
linkResourceManager
in interface Scheduler
rmUrl
- the URL of the new Resource Manager to link to the scheduler.
Example: //host/RM_node_name
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean pause() throws NotConnectedException, PermissionException
Scheduler
pause
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean pauseJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
pauseJob
in interface Scheduler
jobId
- the job to pause.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean pauseJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.pauseJob
in interface Scheduler
jobId
- the job to pause.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean restartAllInErrorTasks(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.restartAllInErrorTasks
in interface Scheduler
jobId
- the job to resume.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean preemptTask(JobId jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
If the job does not exist, an UnknownJobException is sent with the proper message.
So, if you have the right to stop this task and if the job and task name
exist and is running, the task will be stopped and restarted later and
this method will return true
.
The given delay is the delay between the task termination and it's
eligibility to be re-scheduled. In any other cases a
SchedulerException
will be thrown.
preemptTask
in interface Scheduler
jobId
- the job containing the task to be stopped.taskName
- the name of the task to stop.restartDelay
- the delay between the task termination and it's eligibility to
be re-scheduled (in sec)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.public boolean preemptTask(String jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
true
.SchedulerException
will be thrown.preemptTask
in interface Scheduler
jobId
- the job containing the task to be stopped.taskName
- the name of the task to stop.restartDelay
- the delay between the task termination and it's eligibility to
be re-scheduled (in sec)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.public boolean removeJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
removeJob
in interface Scheduler
jobId
- the job to be removed.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean removeJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
The jobId is given as a string. It's in fact the string returned by the
JobId.value()
method.
A user can only remove HIS job.
If the job does not exist, a schedulerException is sent with the proper
message.
removeJob
in interface Scheduler
jobId
- the job to be removed.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean restartTask(JobId jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
If the job does not exist, an UnknownJobException is sent with the proper
message. So, if you have the right to restart this task and if the job
and task name exist and is running, the task will be restarted and this
method will return true
.
The given delay is the delay between the task termination and it's
eligibility to be re-scheduled. In any other cases a
SchedulerException
will be thrown.
After this call, the following situations can occur :
restartTask
in interface Scheduler
jobId
- the job containing the task to be restarted.taskName
- the name of the task to restart.restartDelay
- the delay between the task termination and it's eligibility to
be re-scheduled (in sec)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.public boolean restartTask(String jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
Scheduler
true
.SchedulerException
will be thrown.
After this call, the following situations can occur :
restartTask
in interface Scheduler
jobId
- the job containing the task to be restarted.taskName
- the name of the task to restart.restartDelay
- the delay between the task termination and it's eligibility to
be re-scheduled (in sec)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.public boolean finishInErrorTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
finishInErrorTask
in interface Scheduler
NotConnectedException
UnknownJobException
UnknownTaskException
PermissionException
public boolean restartInErrorTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
restartInErrorTask
in interface Scheduler
NotConnectedException
UnknownJobException
UnknownTaskException
PermissionException
public boolean resume() throws NotConnectedException, PermissionException
Scheduler
resume
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean resumeJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
resumeJob
in interface Scheduler
jobId
- the job to resume.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean resumeJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
JobId.value()
method.resumeJob
in interface Scheduler
jobId
- the job to resume.NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean shutdown() throws NotConnectedException, PermissionException
Scheduler
shutdown
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean start() throws NotConnectedException, PermissionException
Scheduler
start
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public boolean stop() throws NotConnectedException, PermissionException
Scheduler
stop
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.public JobId submit(Job job) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
Scheduler
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
It is possible to get a listener on the scheduler. (see
Scheduler.addEventListener(SchedulerEventListener, boolean, SchedulerEvent...)
for more details)
submit
in interface Scheduler
job
- the new job to submit.NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.SubmissionClosedException
- if the submit action could not be performed.JobCreationException
- if Their was a problem while creation the jobpublic JobId submit(File job) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a local FileNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(File job, Map<String,String> variables) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a local Filevariables
- job variables to use during the job executionNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(File job, Map<String,String> variables, Map<String,String> genericInfos) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a local Filevariables
- job variables to use during the job executiongenericInfos
- map with generic informationsNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(URL job) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a urlNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(URL job, Map<String,String> variables) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a urlvariables
- job variables to use during the job executionNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(Map<String,String> genericInfos, URL job, Map<String,String> variables) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
genericInfos
- map with generic informationsjob
- a job provided as a urlvariables
- job variables to use during the job executionNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(URL job, Map<String,String> variables, Map<String,String> requestHeaderParams) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a urlvariables
- job variables to use during the job executionrequestHeaderParams
- map with request header parametersNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submit(URL job, Map<String,String> variables, Map<String,String> genericInfos, Map<String,String> requestHeaderParams) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submit
in interface ISchedulerClient
job
- a job provided as a urlvariables
- job variables to use during the job executiongenericInfos
- map with generic informationsrequestHeaderParams
- map with request header parametersNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String bucketName, String workflowName) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
NotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String bucketName, String workflowName, Map<String,String> variables) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
NotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String bucketName, String workflowName, Map<String,String> variables, Map<String,String> genericInfo) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
genericInfo
- map with generic informationNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String calledWorkflow) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
NotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String calledWorkflow, Map<String,String> variables) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
NotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public JobId submitFromCatalog(String catalogRestURL, String calledWorkflow, Map<String,String> variables, Map<String,String> genericInfo) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
ISchedulerClient
It will execute the tasks of the jobs as soon as resources are available. The job will be considered as finished once every tasks have finished (error or success). Thus, user could get the job result according to the precious result.
submitFromCatalog
in interface ISchedulerClient
genericInfo
- map with generic informationNotConnectedException
PermissionException
SubmissionClosedException
JobCreationException
public boolean isJobFinished(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
ISchedulerClient
isJobFinished
in interface ISchedulerClient
jobId
- the job identifier objectNotConnectedException
- if the client is not logged in or the session has expiredUnknownJobException
- if the job identifier is invalidPermissionException
- if the user does not have permission to view the state of the
specified jobpublic boolean isJobFinished(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
ISchedulerClient
isJobFinished
in interface ISchedulerClient
jobId
- the job identifier stringNotConnectedException
UnknownJobException
PermissionException
ISchedulerClient.isJobFinished(JobId)
public JobResult waitForJob(JobId jobId, long timeout) throws NotConnectedException, UnknownJobException, PermissionException, TimeoutException
ISchedulerClient
If the job execution finishes before the elapse of wait time, the result of the job is returned. Otherwise a timeout exception is thrown.
waitForJob
in interface ISchedulerClient
jobId
- the job identifier objecttimeout
- the maximum amount of time to waitNotConnectedException
- if the client is not logged in or the session has expiredUnknownJobException
- if the job identifier is invalidPermissionException
- if the user does not have permission to view the state of the
specified jobTimeoutException
- if the job execution does not finish before the elapse of
wait timepublic JobResult waitForJob(String jobId, long timeout) throws NotConnectedException, UnknownJobException, PermissionException, TimeoutException
ISchedulerClient
If the job execution finishes before the elapse of wait time, the result of the job is returned. Otherwise a timeout exception is thrown.
waitForJob
in interface ISchedulerClient
jobId
- the job identifier stringNotConnectedException
UnknownJobException
PermissionException
TimeoutException
ISchedulerClient.waitForJob(JobId, long)
public boolean isTaskFinished(String jobId, String taskName) throws UnknownJobException, NotConnectedException, PermissionException, UnknownTaskException
ISchedulerClient
isTaskFinished
in interface ISchedulerClient
jobId
- the string identifier of the job to which the task is belongtaskName
- the task nameUnknownJobException
- if the job identifier is invalidNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to view the state of the
taskUnknownTaskException
- if the task name is invalidpublic TaskResult waitForTask(String jobId, String taskName, long timeout) throws UnknownJobException, NotConnectedException, PermissionException, UnknownTaskException, TimeoutException
ISchedulerClient
If the task execution finishes before the elapse of wait time, the result of the task is returned. Otherwise a timeout exception is thrown.
waitForTask
in interface ISchedulerClient
jobId
- the string identifier of the job to which the task is belongtaskName
- the task nameUnknownJobException
- if the job identifier is invalidNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to view the state of
taskUnknownTaskException
- if the task name is invalidTimeoutException
- if the task execution does not finish before the elapse of
wait timepublic List<JobResult> waitForAllJobs(List<String> jobIds, long timeout) throws NotConnectedException, UnknownJobException, PermissionException, TimeoutException
ISchedulerClient
Returns a list of job results, if the execution of all jobs specified finishes before the elapse of the wait time. Otherwise a timeout exception is thrown.
waitForAllJobs
in interface ISchedulerClient
jobIds
- the list of job identifier stingstimeout
- the maximum amount of wait timeNotConnectedException
- if the client is not logged in or the session has expiredUnknownJobException
- if one of jobs specified is invalidPermissionException
- if the user does not have permission to view the state of one
of the specified jobsTimeoutException
- if the execution of all jobs specified does not finish before
the elapse of specified wait timepublic Map.Entry<String,JobResult> waitForAnyJob(List<String> jobIds, long timeout) throws NotConnectedException, UnknownJobException, PermissionException, TimeoutException
ISchedulerClient
Returns the string identifier and result of the finished job, if any of the execution of the jobs finishes before the elapse of wait time. Otherwise a timeout exception is thrown.
waitForAnyJob
in interface ISchedulerClient
jobIds
- the list of job identifier stringstimeout
- the maximum amount of wait timeNotConnectedException
- if the client is not logged in or the session has expiredUnknownJobException
- if only of the job identifiers is invalidPermissionException
- if the user does not have permission to view the job stateTimeoutException
- if none of the executions of jobs finishes before the elapse
of wait timepublic Map.Entry<String,TaskResult> waitForAnyTask(String jobId, List<String> taskNames, long timeout) throws UnknownJobException, NotConnectedException, PermissionException, UnknownTaskException, TimeoutException
ISchedulerClient
Returns name and the result of a finished task. Otherwise a timeout exception is thrown.
waitForAnyTask
in interface ISchedulerClient
jobId
- the job identifier of the job to which the specified tasks
belongtaskNames
- the names of the taskstimeout
- the maximum amount of wait timeUnknownJobException
- if the job identifier is invalidNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to view the state of the
tasksUnknownTaskException
- if the name of a task is invalidTimeoutException
- if none of the executions of tasks finish before the elapse
of wait timepublic List<Map.Entry<String,TaskResult>> waitForAllTasks(String jobId, List<String> taskNames, long timeout) throws UnknownJobException, NotConnectedException, PermissionException, UnknownTaskException, TimeoutException
ISchedulerClient
Returns a list of task name and task result pairs, if all the executions of specified tasks finishes before the elapse of wait time. Otherwise a timeout exception is thrown.
waitForAllTasks
in interface ISchedulerClient
jobId
- the identifier of the job to which all the specified tasks
belongtaskNames
- the task namestimeout
- the maximum amount of wait timeUnknownJobException
- if the job identifier is invalidNotConnectedException
- if the client is not logged in or the session has expired.PermissionException
- if the user does not have permission to view the state of the
tasksUnknownTaskException
- if a task name is invalidTimeoutException
- if all the executions of the tasks do not finish before the
elapse of maximum wait timepublic boolean pushFile(String spacename, String pathname, String filename, String file) throws NotConnectedException, PermissionException
ISchedulerClient
pushFile
in interface ISchedulerClient
spacename
- the dataspace namepathname
- the path of the stored file with respect to the dataspacefilename
- the name of the stored file with respect to the dataspacefile
- the local fileNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to upload the file to
the specified dataspacepublic void pullFile(String space, String pathname, String outputFile) throws NotConnectedException, PermissionException
ISchedulerClient
pullFile
in interface ISchedulerClient
space
- the dataspace namepathname
- the pathname of the file with respect the dataspaceoutputFile
- the name of the output fileNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to retrieve the
specified file from the serverpublic boolean deleteFile(String space, String pathname) throws NotConnectedException, PermissionException
ISchedulerClient
deleteFile
in interface ISchedulerClient
space
- the dataspace namepathname
- the pathname of the file with respect to the dataspaceNotConnectedException
- if the client is not logged in or the session has expiredPermissionException
- if the user does not have permission to delete the file from
the serverpublic List<String> getUserSpaceURIs() throws NotConnectedException, PermissionException
Scheduler
getUserSpaceURIs
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
public List<String> getGlobalSpaceURIs() throws NotConnectedException, PermissionException
Scheduler
getGlobalSpaceURIs
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
public void renewSession() throws NotConnectedException
Scheduler
renewSession
in interface Scheduler
NotConnectedException
- if you are not authenticated.public void setSession(String sid)
ISchedulerClient
setSession
in interface ISchedulerClient
sid
- session identifierpublic String getSession()
ISchedulerClient
getSession
in interface ISchedulerClient
public void addEventListener(SchedulerEventListener listener, boolean myEventsOnly, SchedulerEvent... events) throws NotConnectedException, PermissionException
Scheduler
This method behaves exactly the same as a call to addEventListener(sel, myEventsOnly, false, events); but return nothing
addEventListener
in interface Scheduler
listener
- a SchedulerEventListener on which the scheduler will talk.myEventsOnly
- a boolean that indicates if you want to receive every event or
just the one concerning your jobs. This won't affect the
scheduler state event that will be sent anyway.events
- An array of events that you want to receive from the
scheduler.NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular job.public void removeEventListener() throws NotConnectedException, PermissionException
Scheduler
removeEventListener
in interface Scheduler
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.public void putThirdPartyCredential(String key, String value) throws NotConnectedException, PermissionException, KeyException
ThirdPartyCredentials
putThirdPartyCredential
in interface ThirdPartyCredentials
key
- the third-party credential key to storevalue
- the third-party credential value to store, it will be encryptedNotConnectedException
- if you are not authenticated.PermissionException
- if you can't access this particular method.KeyException
- if encryption of value failspublic Set<String> thirdPartyCredentialsKeySet() throws NotConnectedException, PermissionException
thirdPartyCredentialsKeySet
in interface ThirdPartyCredentials
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access this particular method.public void removeThirdPartyCredential(String key) throws NotConnectedException, PermissionException
removeThirdPartyCredential
in interface ThirdPartyCredentials
key
- the third-party credential key to removeNotConnectedException
- if you are not authenticated.PermissionException
- if you can't access this particular method.public Page<TaskId> getTaskIds(String taskTag, long from, long to, boolean mytasks, boolean running, boolean pending, boolean finished, int offset, int limit) throws NotConnectedException, PermissionException
Scheduler
getTaskIds
in interface Scheduler
taskTag
- a complete tag to use to filter tasksfrom
- the starting date to fetch tasks from. The format is in Epoch
time.to
- the end date to stop fetching tasks. The format is in Epoch
time.mytasks
- True
will only fetch the user tasks,
False
will fetch everyones.running
- fetch the running tasks.pending
- fetch the pending tasks.finished
- fetch the finished tasks.offset
- the starting task to include in the paginated list.limit
- the last task (not included) before stopping fetching tasks in
the paginated list.NotConnectedException
PermissionException
public Page<TaskState> getTaskStates(String taskTag, long from, long to, boolean mytasks, boolean running, boolean pending, boolean finished, int offset, int limit, SortSpecifierContainer sortParams) throws NotConnectedException, PermissionException
Scheduler
getTaskStates
in interface Scheduler
taskTag
- a complete tag to use to filter tasksfrom
- the starting date to fetch tasks from. The format is in Epoch
time.to
- the end date to stop fetching tasks. The format is in Epoch
time.mytasks
- True
will only fetch the user tasks,
False
will fetch everyones.running
- fetch the running tasks.pending
- fetch the pending tasks.finished
- fetch the finished tasks.offset
- the starting task to include in the paginated list.limit
- the last task (not included) before stopping fetching tasks in
the paginated list.NotConnectedException
PermissionException
public JobInfo getJobInfo(String jobId) throws UnknownJobException, NotConnectedException, PermissionException
Scheduler
getJobInfo
in interface Scheduler
jobId
- the id of the job we want to fetch info.JobInfo
associated to the given idUnknownJobException
NotConnectedException
PermissionException
public boolean changeStartAt(JobId jobId, String startAt) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
changeStartAt
in interface Scheduler
jobId
- id of the job that needs to be updatedstartAt
- its value should be ISO 8601 compliantNotConnectedException
UnknownJobException
PermissionException
public String getJobContent(JobId jobId) throws NotConnectedException, PermissionException, UnknownJobException, JobCreationException, SubmissionClosedException
getJobContent
in interface Scheduler
jobId
- job id of existing jobNotConnectedException
PermissionException
UnknownJobException
JobCreationException
SubmissionClosedException
public Map<Object,Object> getPortalConfiguration() throws NotConnectedException, PermissionException
getPortalConfiguration
in interface Scheduler
NotConnectedException
PermissionException
public String getCurrentUser() throws NotConnectedException
Scheduler
getCurrentUser
in interface Scheduler
NotConnectedException
public UserData getCurrentUserData() throws NotConnectedException
Scheduler
getCurrentUserData
in interface Scheduler
NotConnectedException
public Map<String,Object> getSchedulerProperties() throws NotConnectedException, PermissionException
Scheduler
getSchedulerProperties
in interface Scheduler
NotConnectedException
PermissionException
public TaskStatesPage getTaskPaginated(String jobId, int offset, int limit) throws NotConnectedException, UnknownJobException, PermissionException
Scheduler
getTaskPaginated
in interface Scheduler
jobId
- the job on which to get the state.offset
- the starting index of the sublist of tasks to getlimit
- the last index (non inclusive) of the sublist of tasks to getNotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.public boolean checkJobPermissionMethod(String sessionId, String jobId, String method) throws NotConnectedException, UnknownJobException
Scheduler
checkJobPermissionMethod
in interface Scheduler
NotConnectedException
UnknownJobException