-
Notifications
You must be signed in to change notification settings - Fork 5
/
AiravataWrapperInterface.php
66 lines (59 loc) · 2.92 KB
/
AiravataWrapperInterface.php
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
<?php
namespace SCIGAP;
interface AiravataWrapperInterface
{
/**
* This function calls Airavata Launch Experiments. Inside the implementation, all the required steps such as
* creating an experiment and then launching is taken care of.
*
* @param string $limsHost - Host where LIMS is deployed.
* @param string $limsUser - Unique user name of LIMS User. Reported to XSEDE for gateway user tracking.
* @param string $experimentName - Name of the Experiment - US3-AIRA, US3-ADEV ..
* @param string $requestId - LIMS Instance concatenated with incremented request ID. Ex: uslims3_CU_Boulder_1974
* @param string $computeCluster - Host Name of the Compute Cluster. Ex: comet.sdsc.edu
* @param string $queue - Queue Name on the cluster
* @param integer $cores - Number of Cores to be requested.
* @param integer $nodes - Number of Nodes to be requested.
* @param integer $mGroupCount - Parallel groups.
* @param integer $wallTime - Maximum wall time of the job.
* @param string $clusterUserName - Juelich’s clusters will use this to submit job as the specified user. Other clusters ignore it.
* @param string $clusterScratch - Cluster scratch for Juelich clusters, Others ignore it.
* @param string $clusterAllocationAccount - override cluster allocation project account number
* @param string $inputFile - Path of the Input Tar File
* @param string $outputDataDirectory - Directory path where Airavata should stage back the output tar file.
* @param integer $memoryreq - Optional memory requirement in megabytes. Pass 0 if needed to be skipped
*
* @return array - The array will have three values: $launchStatus, $experimentId, $message
*
*/
function launch_airavata_experiment($limsHost, $limsUser, $experimentName, $requestId,
$computeCluster, $queue, $cores, $nodes, $mGroupCount, $wallTime, $clusterUserName,
$clusterScratch, $clusterAllocationAccount, $inputFile, $outputDataDirectory, $memoryreq);
/**
* This function calls fetches Airavata Experiment Status.
*
* @param string $experimentId - Id of the Experiment.
*
* @return string - Status of the experiment.
*
*/
function get_experiment_status($experimentId);
/**
* This function calls fetches errors from an Airavata Experiment.
*
* @param string $experimentId - Id of the Experiment.
*
* @return array - The array will have any errors if recorded.
*
*/
function get_experiment_errors($experimentId);
/**
* This function calls terminates previously launched Airavata Experiment.
*
* @param string $experimentId - Id of the Experiment to be terminated.
*
* @return array - The array will have two values: $cancelStatus, $message
*
*/
function terminate_airavata_experiment($experimentId);
}