public final class JobServer extends Object implements JobService
JobService implementation.DEFAULT_PRIORITY| Constructor and Description |
|---|
JobServer(File outputDirectory,
ca.eandb.util.progress.ProgressMonitorFactory monitorFactory,
TaskScheduler scheduler,
ParentClassManager classManager)
Creates a new
JobServer. |
JobServer(File outputDirectory,
ca.eandb.util.progress.ProgressMonitorFactory monitorFactory,
TaskScheduler scheduler,
ParentClassManager classManager,
Executor executor)
Creates a new
JobServer. |
| Modifier and Type | Method and Description |
|---|---|
void |
cancelJob(UUID jobId) |
UUID |
createJob(String description) |
byte[] |
getClassDefinition(String name,
UUID jobId) |
byte[] |
getClassDigest(String name) |
byte[] |
getClassDigest(String name,
UUID jobId) |
BitSet |
getFinishedTasks(UUID[] jobIds,
int[] taskIds) |
JobStatus |
getJobStatus(UUID jobId) |
ca.eandb.util.rmi.Serialized<TaskWorker> |
getTaskWorker(UUID jobId) |
void |
registerTaskService(String name,
TaskService service) |
void |
reportException(UUID jobId,
int taskId,
Exception e) |
TaskDescription |
requestTask() |
void |
setClassDefinition(String name,
byte[] def) |
void |
setClassDefinition(String name,
UUID jobId,
byte[] def) |
void |
setIdleTime(int idleSeconds) |
void |
setJobPriority(UUID jobId,
int priority) |
UUID |
submitJob(ca.eandb.util.rmi.Serialized<ParallelizableJob> job,
String description) |
void |
submitJob(ca.eandb.util.rmi.Serialized<ParallelizableJob> job,
UUID jobId) |
void |
submitTaskResults(UUID jobId,
int taskId,
ca.eandb.util.rmi.Serialized<Object> results) |
void |
unregisterTaskService(String name) |
JobStatus |
waitForJobStatusChange(long lastEventId,
long timeoutMillis) |
JobStatus |
waitForJobStatusChange(UUID jobId,
long lastEventId,
long timeoutMillis) |
public JobServer(File outputDirectory, ca.eandb.util.progress.ProgressMonitorFactory monitorFactory, TaskScheduler scheduler, ParentClassManager classManager, Executor executor) throws IllegalArgumentException
JobServer.outputDirectory - The directory to write job results to.monitorFactory - The ProgressMonitorFactory to use to
create ProgressMonitors for individual jobs.scheduler - The TaskScheduler to use to assign
tasks.classManager - The ParentClassManager to use to
store and retrieve class definitions.executor - The Executor to use to run bits of code
that should not hold up the remote caller.IllegalArgumentExceptionpublic JobServer(File outputDirectory, ca.eandb.util.progress.ProgressMonitorFactory monitorFactory, TaskScheduler scheduler, ParentClassManager classManager) throws IllegalArgumentException
JobServer.outputDirectory - The directory to write job results to.monitorFactory - The ProgressMonitorFactory to use to
create ProgressMonitors for individual jobs.scheduler - The TaskScheduler to use to assign
tasks.classManager - The ParentClassManager to use to
store and retrieve class definitions.IllegalArgumentExceptionpublic UUID createJob(String description) throws SecurityException
createJob in interface JobServiceSecurityExceptionpublic void submitJob(ca.eandb.util.rmi.Serialized<ParallelizableJob> job, UUID jobId) throws IllegalArgumentException, SecurityException, ClassNotFoundException, JobExecutionException
submitJob in interface JobServiceIllegalArgumentExceptionSecurityExceptionClassNotFoundExceptionJobExecutionExceptionpublic UUID submitJob(ca.eandb.util.rmi.Serialized<ParallelizableJob> job, String description) throws SecurityException, ClassNotFoundException, JobExecutionException
submitJob in interface JobServiceSecurityExceptionClassNotFoundExceptionJobExecutionExceptionpublic void cancelJob(UUID jobId) throws IllegalArgumentException, SecurityException
cancelJob in interface JobServiceIllegalArgumentExceptionSecurityExceptionpublic ca.eandb.util.rmi.Serialized<TaskWorker> getTaskWorker(UUID jobId) throws IllegalArgumentException, SecurityException
getTaskWorker in interface TaskServiceIllegalArgumentExceptionSecurityExceptionpublic TaskDescription requestTask() throws SecurityException
requestTask in interface TaskServiceSecurityExceptionpublic void submitTaskResults(UUID jobId, int taskId, ca.eandb.util.rmi.Serialized<Object> results) throws SecurityException
submitTaskResults in interface TaskServiceSecurityExceptionpublic void reportException(UUID jobId, int taskId, Exception e) throws SecurityException, RemoteException
reportException in interface TaskServiceSecurityExceptionRemoteExceptionpublic BitSet getFinishedTasks(UUID[] jobIds, int[] taskIds) throws IllegalArgumentException, SecurityException, RemoteException
getFinishedTasks in interface TaskServiceIllegalArgumentExceptionSecurityExceptionRemoteExceptionpublic byte[] getClassDefinition(String name, UUID jobId) throws SecurityException
getClassDefinition in interface TaskServiceSecurityExceptionpublic byte[] getClassDigest(String name, UUID jobId) throws SecurityException
getClassDigest in interface TaskServiceSecurityExceptionpublic byte[] getClassDigest(String name) throws SecurityException
getClassDigest in interface JobServiceSecurityExceptionpublic void setClassDefinition(String name, byte[] def) throws SecurityException
setClassDefinition in interface JobServiceSecurityExceptionpublic void setClassDefinition(String name, UUID jobId, byte[] def) throws IllegalArgumentException, SecurityException
setClassDefinition in interface JobServiceIllegalArgumentExceptionSecurityExceptionpublic void setIdleTime(int idleSeconds)
throws IllegalArgumentException,
SecurityException
setIdleTime in interface JobServiceIllegalArgumentExceptionSecurityExceptionpublic void setJobPriority(UUID jobId, int priority) throws IllegalArgumentException, SecurityException
setJobPriority in interface JobServiceIllegalArgumentExceptionSecurityExceptionpublic void registerTaskService(String name, TaskService service) throws SecurityException, RemoteException
registerTaskService in interface JobServiceSecurityExceptionRemoteExceptionpublic void unregisterTaskService(String name) throws SecurityException, RemoteException
unregisterTaskService in interface JobServiceSecurityExceptionRemoteExceptionpublic JobStatus waitForJobStatusChange(long lastEventId, long timeoutMillis) throws SecurityException, RemoteException
waitForJobStatusChange in interface JobServiceSecurityExceptionRemoteExceptionpublic JobStatus waitForJobStatusChange(UUID jobId, long lastEventId, long timeoutMillis) throws IllegalArgumentException, SecurityException, RemoteException
waitForJobStatusChange in interface JobServiceIllegalArgumentExceptionSecurityExceptionRemoteExceptionpublic JobStatus getJobStatus(UUID jobId) throws IllegalArgumentException, SecurityException, RemoteException
getJobStatus in interface JobServiceIllegalArgumentExceptionSecurityExceptionRemoteExceptionCopyright © 2016. All rights reserved.