OpenDreams
OD_1.5
Projeto OpenDreams - Openbus
|
00001 00024 #ifndef _DRMAA_IDL 00025 #define _DRMAA_IDL 00026 00030 module tecgraf { 00031 00032 module openbus { 00033 00034 module DRMAA { 00035 00039 typedef sequence<string> OrderedStringList; 00040 00044 typedef sequence<string> StringList; 00045 00049 typedef sequence< sequence<string,2> > Dictionary; 00050 00054 typedef long long TimeAmount; 00055 00056 enum JobControlAction { 00057 SUSPEND, 00058 RESUME, 00059 HOLD, 00060 RELEASE, 00061 TERMINATE 00062 }; 00063 00069 enum JobState { 00070 UNDETERMINED, 00071 QUEUED_ACTIVE, 00072 SYSTEM_ON_HOLD, 00073 USER_ON_HOLD, 00074 USER_SYSTEM_ON_HOLD, 00075 RUNNING, 00076 SYSTEM_SUSPENDED, 00077 USER_SUSPENDED, 00078 USER_SYSTEM_SUSPENDED, 00079 DONE, 00080 FAILED 00081 }; 00082 00088 enum JobSubmissionState { 00089 HOLD_STATE, 00090 ACTIVE_STATE 00091 }; 00092 00098 struct FileTransferMode { 00099 boolean transferInputStream; 00100 boolean transferOutputStream; 00101 boolean transferErrorStream; 00102 }; 00103 00109 struct Version { 00110 long major; 00111 long minor; 00112 }; 00113 00117 exception AlreadyActiveSessionException {string message;}; 00121 exception AuthorizationException {string message;}; 00126 exception ConflictingAttributeValuesException {string message;}; 00131 exception DefaultContactStringException {string message;}; 00136 exception DeniedByDrmException {string message;}; 00140 exception DrmCommunicationException {string message;}; 00144 exception DrmsExitException {string message;}; 00148 exception DrmsInitException {string message;}; 00153 exception ExitTimeoutException {string message;}; 00157 exception HoldInconsistentStateException {string message;}; 00162 exception IllegalStateException {string message;}; 00166 exception InternalException {string message;}; 00171 exception InvalidArgumentException {string message;}; 00176 exception InvalidAttributeFormatException {string message;}; 00180 exception InvalidAttributeValueException {string message;}; 00184 exception InvalidContactStringException {string message;}; 00189 exception InvalidJobException {string message;}; 00195 exception InvalidJobTemplateException {string message;}; 00199 exception NoActiveSessionException {string message;}; 00205 exception NoDefaultContactStringSelectedException {string message;}; 00210 exception OutOfMemoryException {string message;}; 00214 exception ReleaseInconsistentStateException {string message;}; 00219 exception ResumeInconsistentStateException {string message;}; 00223 exception SuspendInconsistentStateException {string message;}; 00228 exception TryLaterException {string message;}; 00233 exception UnsupportedAttributeException {string message;}; 00234 00239 native PartialTimestamp; 00240 00246 valuetype JobInfo { 00250 public string jobId; 00258 public Dictionary resourceUsage; 00263 public boolean hasExited; 00272 public long exitStatus; 00279 public boolean hasSignaled; 00285 public string terminatingSignal; 00291 public boolean hasCoreDump; 00297 public boolean wasAborted; 00298 }; 00299 00311 valuetype JobTemplate{ 00318 const string HOME_DIRECTORY = "$drmaa_hd_ph$"; 00324 const string WORKING_DIRECTORY = "$drmaa_wd_ph$"; 00331 const string PARAMETRIC_INDEX = "$drmaa_incr_ph$"; 00335 public string remoteCommand; 00339 public OrderedStringList args; 00343 public JobSubmissionState jobSubmissionState; 00352 public Dictionary jobEnvironment; 00365 public string workingDirectory; 00379 public string jobCategory; 00386 public string nativeSpecification; 00391 public StringList email; 00397 public boolean blockEmail; 00404 /* public PartialTimestamp startTime;*/ 00410 public string jobName; 00429 public string inputPath; 00450 public string outputPath; 00471 public string errorPath; 00477 public boolean joinFiles; 00485 public FileTransferMode transferFiles; 00491 /* public PartialTimestamp deadlineTime; */ 00497 public TimeAmount hardWallClockTimeLimit; 00505 public TimeAmount softWallClockTimeLimit; 00511 public TimeAmount hardRunDurationLimit; 00519 public TimeAmount softRunDurationLimit; 00525 readonly attribute StringList attributeNames; 00526 }; 00527 00531 interface Session{ 00532 const long long TIMEOUT_WAIT_FOREVER = -1; 00533 const long long TIMEOUT_NO_WAIT = 0; 00534 const string JOB_IDS_SESSION_ANY = "DRMAA_JOB_IDS_SESSION_ANY"; 00535 const string JOB_IDS_SESSION_ALL = "DRMAA_JOB_IDS_SESSION_ALL"; 00566 void init(in string contactString) 00567 raises ( DrmsInitException, 00568 InvalidContactStringException, 00569 AlreadyActiveSessionException, 00570 DefaultContactStringException, 00571 NoDefaultContactStringSelectedException, 00572 OutOfMemoryException, 00573 DrmCommunicationException, 00574 AuthorizationException, 00575 InvalidArgumentException, 00576 InternalException); 00596 void exit() 00597 raises ( DrmsExitException, 00598 NoActiveSessionException, 00599 DrmCommunicationException, 00600 AuthorizationException, 00601 OutOfMemoryException, 00602 InternalException); 00621 JobTemplate createJobTemplate() 00622 raises ( DrmCommunicationException, 00623 NoActiveSessionException, 00624 OutOfMemoryException, 00625 AuthorizationException, 00626 InternalException); 00647 void deleteJobTemplate(in JobTemplate jobTemplate_) 00648 raises ( DrmCommunicationException, 00649 NoActiveSessionException, 00650 OutOfMemoryException, 00651 AuthorizationException, 00652 InvalidArgumentException, 00653 InvalidJobTemplateException, 00654 InternalException); 00683 string runJob(in JobTemplate jobTemplate_) 00684 raises ( TryLaterException, 00685 DeniedByDrmException, 00686 DrmCommunicationException, 00687 AuthorizationException, 00688 InvalidJobTemplateException, 00689 NoActiveSessionException, 00690 OutOfMemoryException, 00691 InvalidArgumentException, 00692 InternalException); 00696 StringList runBulkJobs( in JobTemplate jobTemplate_, 00697 in long beginIndex, 00698 in long endIndex, 00699 in long step) 00700 raises ( TryLaterException, 00701 DeniedByDrmException, 00702 DrmCommunicationException, 00703 AuthorizationException, 00704 InvalidJobTemplateException, 00705 NoActiveSessionException, 00706 OutOfMemoryException, 00707 InvalidArgumentException, 00708 InternalException); 00712 void control( in string jobName, 00713 in JobControlAction operation) 00714 raises ( DrmCommunicationException, 00715 AuthorizationException, 00716 ResumeInconsistentStateException, 00717 SuspendInconsistentStateException, 00718 HoldInconsistentStateException, 00719 ReleaseInconsistentStateException, 00720 InvalidJobException, 00721 NoActiveSessionException, 00722 OutOfMemoryException, 00723 InvalidArgumentException, 00724 InternalException); 00728 void synchronize( in StringList jobList, 00729 in long long timeout, 00730 in boolean dispose) 00731 raises ( DrmCommunicationException, 00732 AuthorizationException, 00733 ExitTimeoutException, 00734 InvalidJobException, 00735 NoActiveSessionException, 00736 OutOfMemoryException, 00737 InvalidArgumentException, 00738 InternalException); 00769 JobInfo wait( in string jobName, 00770 in long long timeout) 00771 raises ( DrmCommunicationException, 00772 AuthorizationException, 00773 ExitTimeoutException, 00774 InvalidJobException, 00775 NoActiveSessionException, 00776 OutOfMemoryException, 00777 InvalidArgumentException, 00778 InternalException); 00820 JobState jobStatus(in string jobName) 00821 raises ( DrmCommunicationException, 00822 AuthorizationException, 00823 InvalidJobException, 00824 NoActiveSessionException, 00825 OutOfMemoryException, 00826 InvalidArgumentException, 00827 InternalException); 00837 readonly attribute string contact; 00842 readonly attribute DRMAA::Version version; 00851 readonly attribute string drmsInfo; 00860 readonly attribute string drmaaImplementation; 00861 }; 00862 00863 }; // DRMAA 00864 00865 }; // openbus 00866 00867 }; // tecgraf 00868 00869 #endif 00870