Newer
Older
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
// CSharpServer.cs
// compile with: /target:library
// post-build command: regasm CSharpServer.dll /tlb:CSharpServer.tlb
using HaaSMiddleware.DomainObjects.ClusterInformation;
using HaaSMiddleware.DomainObjects.JobManagement;
using HaaSMiddleware.DomainObjects.JobManagement.JobInformation;
using System.Collections.Generic;
namespace HaaSMiddleware.HpcConnectionFramework {
public interface IRexScheduler {
SubmittedJobInfo SubmitJob(JobSpecification jobSpecification, ClusterAuthenticationCredentials credentials);
void CancelJob(int scheduledJobId, ClusterAuthenticationCredentials credentials);
void CancelJob(int scheduledJobId, string message, ClusterAuthenticationCredentials credentials);
SubmittedJobInfo GetActualJobInfo(int scheduledJobId, ClusterAuthenticationCredentials credentials);
SubmittedJobInfo[] GetActualJobsInfo(int[] scheduledJobIds, Cluster cluster);
ClusterNodeUsage GetCurrentClusterNodeUsage(ClusterNodeType nodeType);
List<string> GetAllocatedNodes(SubmittedJobInfo jobInfo);
bool IsWaitingLimitExceeded(SubmittedJobInfo job, JobSpecification jobSpecification);
void AllowDirectFileTransferAccessForUserToJob(string publicKey, SubmittedJobInfo jobInfo);
void RemoveDirectFileTransferAccessForUserToJob(string publicKey, SubmittedJobInfo jobInfo);
void CreateJobDirectory(SubmittedJobInfo jobInfo);
void DeleteJobDirectory(SubmittedJobInfo jobInfo);
void CopyJobDataToTemp(SubmittedJobInfo jobInfo, string hash, string path);
void CopyJobDataFromTemp(SubmittedJobInfo jobInfo, string hash);
void CreateSshTunnel(long jobId, string localHost, int localPort, string loginHost, string nodeHost, int nodePort, ClusterAuthenticationCredentials credentials);
void RemoveSshTunnel(long jobId, string nodeHost);
bool SshTunnelExist(long jobId, string nodeHost);
}
}