@PublicAPI public interface Scheduler extends SchedulerUsage, ThirdPartyCredentials
Scheduler currently has 2 roles:
Modifier and Type | Method and Description |
---|---|
SchedulerState |
addEventListener(SchedulerEventListener sel,
boolean myEventsOnly,
boolean getCurrentState,
SchedulerEvent... events)
Add a scheduler event Listener.
|
void |
addEventListener(SchedulerEventListener sel,
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 |
changePolicy(String policyClassName)
For administrator only, change the policy of the scheduler.
|
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
|
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.
|
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 offset,
int limit,
JobFilterCriteria filterCriteria,
List<SortParameter<JobSortParameter>> sortParameters)
Retrieves a job list of the scheduler.
|
String |
getJobServerLogs(String id)
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<JobId,JobDescriptor> |
getJobsToSchedule()
get job Descriptor Map with eligible jobs (running and pending)
|
Map<Object,Object> |
getPortalConfiguration() |
Map<String,Object> |
getSchedulerProperties()
Returns the scheduler properties associated with the user currently connected
|
SchedulerState |
getState()
Get the list of job states that describe every jobs in the Scheduler.
|
SchedulerState |
getState(boolean myJobsOnly)
Get the list of job states that describe every jobs in the Scheduler.
|
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> |
getTaskResultAllIncarnations(JobId jobId,
String taskName)
Get the result for the given task name and all result incarnations in the
given jobId.
|
List<TaskResult> |
getTaskResultAllIncarnations(String jobId,
String taskName)
Get the result for the given task name and all result incarnations in the
given jobId.
|
TaskResult |
getTaskResultFromIncarnation(JobId jobId,
String taskName,
int inc)
Get the result for the given task name and the given incarnation in the
given jobId.
|
TaskResult |
getTaskResultFromIncarnation(String jobId,
String taskName,
int inc)
Get the result for the given task name and the given incarnation 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 id,
String taskName)
Retrieves server logs for a task with the given id.
|
String |
getTaskServerLogsByTag(String id,
String taskTag)
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.
|
boolean |
isConnected()
Test whether or not the user is connected to the ProActive Scheduler.
|
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.
|
void |
listenJobLogs(JobId jobId,
AppenderProvider appenderProvider)
Listen for the tasks user logs.
|
void |
listenJobLogs(String jobId,
AppenderProvider appenderProvider)
Listen for the tasks user logs.
The jobId is given as a string. |
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. |
boolean |
reloadPolicyConfiguration()
For administrator only, order a reload to the policy.
|
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 |
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. |
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(Job job)
Submit a new job to the scheduler.
|
getAccountUsage, getMyAccountUsage
putThirdPartyCredential, removeThirdPartyCredential, thirdPartyCredentialsKeySet
boolean checkJobPermissionMethod(String sessionId, String jobId, String method) throws NotConnectedException, UnknownJobException
sessionId
- jobId
- method
- NotConnectedException
UnknownJobException
List<String> getUserSpaceURIs() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
List<String> getGlobalSpaceURIs() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
JobResult getJobResult(JobId jobId) throws NotConnectedException, PermissionException, UnknownJobException
jobId
- the job on which the result will be sendNotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.TaskResult getTaskResultFromIncarnation(JobId jobId, String taskName, int inc) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
A user can only get HIS result back.
The incarnation argument represents the task result to get. If the task has failed 3 times and then has worked, then 0 represents the last result, 1 the previous, ..., and 3 represents the result of the first execution.
If the job does not exist, a schedulerException is sent with the proper message.
So, if you have the right to get the task result that is in the job represented by the given jobId and if the job and task name exist, so you will receive the result. In any other cases a schedulerException will be thrown.
jobId
- the job in which the task result is.taskName
- the name of the task in which the result is.inc
- id of incarnation (0 is the last one, 1 the previous, and so
on...)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.IllegalArgumentException
- if the incarnation argument is lower than 0 or greater than
the number of terminated execution.List<TaskResult> getTaskResultAllIncarnations(JobId jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
This method returns a list of task result attempts. If the task has failed 3 times and then has worked, then the list will contain a list of 4 task results. 0 represents the first failed result attempt, 1 the next one, ..., and 3 represents the result of the last execution. In that sense the id order is reversed comparing to individual calls to getTaskResultFromIncarnation
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.IllegalArgumentException
- if the incarnation argument is lower than 0 or greater than
the number of terminated execution.List<TaskResult> getTaskResultAllIncarnations(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
This method returns a list of task result attempts. If the task has failed 3 times and then has worked, then the list will contain a list of 4 task results. 0 represents the first failed result attempt, 1 the next one, ..., and 3 represents the result of the last execution. In that sense the id order is reversed comparing to individual calls to
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.IllegalArgumentException
- if the incarnation argument is lower than 0 or greater than
the number of terminated execution.boolean killTask(JobId jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
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.
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.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.boolean restartTask(JobId jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
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 :
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.boolean preemptTask(JobId jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
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.
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.boolean removeJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.void listenJobLogs(JobId jobId, AppenderProvider appenderProvider) throws NotConnectedException, UnknownJobException, PermissionException
A user can only listen to HIS jobs.
jobId
- the id of the job to listen to.appenderProvider
- a provider for an appender that must be connected on a log
server on the caller side (see LogForwardingService
)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.boolean killJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.boolean pauseJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.boolean resumeJob(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.void changeJobPriority(JobId jobId, JobPriority priority) throws NotConnectedException, UnknownJobException, PermissionException, JobAlreadyFinishedException
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.boolean changePolicy(String policyClassName) throws NotConnectedException, PermissionException
This method will immediately change the policy and so the whole scheduling process.
policyClassName
- the new policy full class name.NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean start() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean stop() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean pause() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean freeze() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean resume() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean shutdown() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean kill() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.boolean linkResourceManager(String rmURL) throws NotConnectedException, PermissionException
Can be used if the resource manager has crashed.
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.boolean reloadPolicyConfiguration() throws NotConnectedException, PermissionException
The default behavior reload the configuration file and update the
properties available in policy.
This will cause the Policy#reloadConfig()
method to be called.
This last method can be overridden in the policy to perform a custom
behavior on reload.
NotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.JobId submit(Job job) throws NotConnectedException, PermissionException, SubmissionClosedException, JobCreationException
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
addEventListener(SchedulerEventListener, boolean, SchedulerEvent...)
for more details)
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 jobJobResult getJobResult(String jobId) throws NotConnectedException, PermissionException, UnknownJobException
JobId.value()
method.jobId
- the job on which the result will be sendNotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.TaskResult getTaskResult(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
JobId.value()
method.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.List<TaskResult> getTaskResultsByTag(JobId jobId, String taskTag) throws NotConnectedException, UnknownJobException, PermissionException
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.List<TaskResult> getTaskResultsByTag(String jobId, String taskTag) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.TaskResult getTaskResult(JobId jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
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.TaskResult getTaskResultFromIncarnation(String jobId, String taskName, int inc) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
JobId.value()
method. A user can only get HIS
result back. The incarnation argument represents the task result to get.
If the task has failed 3 times and then has worked, then 0 represents the
last result, 1 the previous, ..., and 3 represents the result of the
first execution.
If the job does not exist, a schedulerException is sent with the proper message. So, if you have the right to get the task result that is in the job represented by the given jobId and if the job and task name exist, so you will receive the result. In any other cases a schedulerException will be thrown.
jobId
- the job in which the task result is.taskName
- the name of the task in which the result is.inc
- id of incarnation (0 is the last one, 1 the previous, and so
on...)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.IllegalArgumentException
- if the incarnation argument is lower than 0 or greater than
the number of terminated execution.boolean removeJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.
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.void listenJobLogs(String jobId, AppenderProvider appenderProvider) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.jobId
- the id of the job to listen to.appenderProvider
- a provider for an appender that must be connected on a log
server on the caller side (see LogForwardingService
)NotConnectedException
- if you are not authenticated.UnknownJobException
- if the job does not exist.PermissionException
- if you can't access to this particular job.boolean killJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.boolean killTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
true
.SchedulerException
will be thrown.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.UnknownTaskException
- if this task does not exist in the job.PermissionException
- if you can't access to this particular job and task.boolean restartTask(String jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
true
.SchedulerException
will be thrown.
After this call, the following situations can occur :
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.boolean finishInErrorTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
boolean restartInErrorTask(String jobId, String taskName) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
boolean preemptTask(String jobId, String taskName, int restartDelay) throws NotConnectedException, UnknownJobException, UnknownTaskException, PermissionException
true
.SchedulerException
will be thrown.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.boolean pauseJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.boolean restartAllInErrorTasks(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.boolean resumeJob(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.void changeJobPriority(String jobId, JobPriority priority) throws NotConnectedException, UnknownJobException, PermissionException, JobAlreadyFinishedException
JobId.value()
method.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.JobState getJobState(String jobId) throws NotConnectedException, UnknownJobException, PermissionException
JobId.value()
method.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.SchedulerStatus getStatus() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.JobState getJobState(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException
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.SchedulerState getState() throws NotConnectedException, PermissionException
If a PermissionException is thrown, try using getState(boolean)
method with argument true
.
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.SchedulerState getState(boolean myJobsOnly) throws NotConnectedException, PermissionException
myJobsOnly
- true to get only my jobs, false to get any.NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.void addEventListener(SchedulerEventListener sel, boolean myEventsOnly, SchedulerEvent... events) throws NotConnectedException, PermissionException
This method behaves exactly the same as a call to addEventListener(sel, myEventsOnly, false, events); but return nothing
sel
- 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.SchedulerState addEventListener(SchedulerEventListener sel, boolean myEventsOnly, boolean getCurrentState, SchedulerEvent... events) throws NotConnectedException, PermissionException
You may use this method once by remote or active object.
Every call to this method will remove your previous listening settings.
If you want to get 2 type of events, add the 2 events type you want at
the end of this method. If no type is specified, all of them will be
sent.
If you want to received the events concerning your job only, just set the 'myEventsOnly' parameter to true. otherwise, you will received events coming from any user.
sel
- a SchedulerEventListener on which the scheduler will talk.myEventsOnly
- a boolean that indicates if you want to receive every events
or just those concerning your jobs. This won't affect the
scheduler state event that will be sent anyway.getCurrentState
- if false, this method returns null, if true, it returns the
Scheduler current state.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.void removeEventListener() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.void disconnect() throws NotConnectedException, PermissionException
NotConnectedException
- if you are not authenticated.PermissionException
- if you can't access to this particular method.boolean isConnected()
String getCurrentPolicy() throws NotConnectedException, PermissionException
NotConnectedException
PermissionException
Map<JobId,JobDescriptor> getJobsToSchedule() throws NotConnectedException, PermissionException
NotConnectedException
PermissionException
List<TaskDescriptor> getTasksToSchedule() throws NotConnectedException, PermissionException
NotConnectedException
PermissionException
void renewSession() throws NotConnectedException
NotConnectedException
- if you are not authenticated.String getJobServerLogs(String id) throws UnknownJobException, NotConnectedException, PermissionException
id
- 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.String getTaskServerLogs(String id, String taskName) throws UnknownJobException, UnknownTaskException, NotConnectedException, PermissionException
id
- 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.String getTaskServerLogsByTag(String id, String taskTag) throws UnknownJobException, NotConnectedException, PermissionException
id
- of the job where the task is.taskTag
- 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.Page<JobInfo> getJobs(int offset, int limit, JobFilterCriteria filterCriteria, List<SortParameter<JobSortParameter>> sortParameters) throws NotConnectedException, PermissionException
offset
- says to start from this job islimit
- max number of jobs to retrievefilterCriteria
- 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.sortParameters
- defines in how jobs must be sortedNotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.List<JobInfo> getJobsInfoList(List<String> jobsId) throws PermissionException, NotConnectedException
jobsId
- the list of id of the jobs to return, in the same orderNotConnectedException
- if you are not authenticated.PermissionException
- if you have not enough permission to access this method.List<SchedulerUserInfo> getUsers() throws NotConnectedException, PermissionException
List<SchedulerUserInfo> getUsersWithJobs() throws NotConnectedException, PermissionException
SchedulerUsage
Page<TaskId> getTaskIds(String taskTag, long from, long to, boolean mytasks, boolean running, boolean pending, boolean finished, int offset, int limit) throws NotConnectedException, PermissionException
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
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
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
JobInfo getJobInfo(String jobId) throws UnknownJobException, NotConnectedException, PermissionException
jobId
- the id of the job we want to fetch info.JobInfo
associated to the given idUnknownJobException
NotConnectedException
PermissionException
boolean changeStartAt(JobId jobId, String startAt) throws NotConnectedException, UnknownJobException, PermissionException
jobId
- id of the job that needs to be updatedstartAt
- its value should be ISO 8601 compliantNotConnectedException
UnknownJobException
PermissionException
String getJobContent(JobId jobId) throws NotConnectedException, UnknownJobException, PermissionException, SubmissionClosedException, JobCreationException
jobId
- job id of existing jobNotConnectedException
UnknownJobException
PermissionException
SubmissionClosedException
JobCreationException
Map<Object,Object> getPortalConfiguration() throws NotConnectedException, PermissionException
PermissionException
NotConnectedException
String getCurrentUser() throws NotConnectedException
NotConnectedException
UserData getCurrentUserData() throws NotConnectedException
NotConnectedException
Map<String,Object> getSchedulerProperties() throws NotConnectedException, PermissionException
NotConnectedException
PermissionException
TaskStatesPage getTaskPaginated(String jobId, int offset, int limit) throws NotConnectedException, UnknownJobException, PermissionException
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.