5981 |
07 Jul 20 |
nicklas |
1 |
package net.sf.basedb.opengrid.config; |
5981 |
07 Jul 20 |
nicklas |
2 |
|
5981 |
07 Jul 20 |
nicklas |
3 |
import net.sf.basedb.opengrid.engine.ClusterEngine; |
6613 |
28 Feb 22 |
nicklas |
4 |
import net.sf.basedb.opengrid.engine.DirectEngine; |
5981 |
07 Jul 20 |
nicklas |
5 |
import net.sf.basedb.opengrid.engine.OpenGridEngine; |
5981 |
07 Jul 20 |
nicklas |
6 |
import net.sf.basedb.opengrid.engine.SlurmEngine; |
5981 |
07 Jul 20 |
nicklas |
7 |
|
5981 |
07 Jul 20 |
nicklas |
8 |
/** |
5981 |
07 Jul 20 |
nicklas |
Enumeration with cluster types that are supported by this plugin. |
5981 |
07 Jul 20 |
nicklas |
@author nicklas |
5981 |
07 Jul 20 |
nicklas |
@since 1.4 |
5981 |
07 Jul 20 |
nicklas |
12 |
*/ |
5981 |
07 Jul 20 |
nicklas |
13 |
public enum ClusterType |
5981 |
07 Jul 20 |
nicklas |
14 |
{ |
5981 |
07 Jul 20 |
nicklas |
15 |
|
5981 |
07 Jul 20 |
nicklas |
16 |
/** |
5981 |
07 Jul 20 |
nicklas |
The cluster is an Open Grid Engine cluster. |
5981 |
07 Jul 20 |
nicklas |
18 |
*/ |
5981 |
07 Jul 20 |
nicklas |
19 |
OPENGRID |
5981 |
07 Jul 20 |
nicklas |
20 |
{ |
5981 |
07 Jul 20 |
nicklas |
21 |
@Override |
5984 |
10 Jul 20 |
nicklas |
22 |
public ClusterEngine createEngine() |
5981 |
07 Jul 20 |
nicklas |
23 |
{ |
5984 |
10 Jul 20 |
nicklas |
24 |
return new OpenGridEngine(); |
5981 |
07 Jul 20 |
nicklas |
25 |
} |
5981 |
07 Jul 20 |
nicklas |
26 |
}, |
5981 |
07 Jul 20 |
nicklas |
27 |
|
5981 |
07 Jul 20 |
nicklas |
28 |
/** |
5981 |
07 Jul 20 |
nicklas |
The cluster is a Slurm Workload Manager cluster. |
5981 |
07 Jul 20 |
nicklas |
30 |
*/ |
5981 |
07 Jul 20 |
nicklas |
31 |
SLURM |
5981 |
07 Jul 20 |
nicklas |
32 |
{ |
5981 |
07 Jul 20 |
nicklas |
33 |
@Override |
5984 |
10 Jul 20 |
nicklas |
34 |
public ClusterEngine createEngine() |
5981 |
07 Jul 20 |
nicklas |
35 |
{ |
5984 |
10 Jul 20 |
nicklas |
36 |
return new SlurmEngine(); |
5981 |
07 Jul 20 |
nicklas |
37 |
} |
6613 |
28 Feb 22 |
nicklas |
38 |
}, |
6613 |
28 Feb 22 |
nicklas |
39 |
|
6613 |
28 Feb 22 |
nicklas |
40 |
/** |
6613 |
28 Feb 22 |
nicklas |
The "cluster" doesn't have an manager, but jobs are started immediately |
6613 |
28 Feb 22 |
nicklas |
when submitted. Intended to be uses for development and testing only. |
6613 |
28 Feb 22 |
nicklas |
@since 1.5 |
6613 |
28 Feb 22 |
nicklas |
44 |
*/ |
6613 |
28 Feb 22 |
nicklas |
45 |
DIRECT |
6613 |
28 Feb 22 |
nicklas |
46 |
{ |
6613 |
28 Feb 22 |
nicklas |
47 |
@Override |
6613 |
28 Feb 22 |
nicklas |
48 |
public ClusterEngine createEngine() |
6613 |
28 Feb 22 |
nicklas |
49 |
{ |
6613 |
28 Feb 22 |
nicklas |
50 |
return new DirectEngine(); |
6613 |
28 Feb 22 |
nicklas |
51 |
} |
5981 |
07 Jul 20 |
nicklas |
52 |
}; |
5981 |
07 Jul 20 |
nicklas |
53 |
|
5981 |
07 Jul 20 |
nicklas |
54 |
/** |
5984 |
10 Jul 20 |
nicklas |
Create a new engine instance to use for cluster-specific operations. |
5981 |
07 Jul 20 |
nicklas |
If the engine is thread-safe, a singleton instance can |
5981 |
07 Jul 20 |
nicklas |
be used, otherwise a new engine should be created |
5981 |
07 Jul 20 |
nicklas |
each time this method is called. |
5981 |
07 Jul 20 |
nicklas |
59 |
*/ |
5984 |
10 Jul 20 |
nicklas |
60 |
public abstract ClusterEngine createEngine(); |
5981 |
07 Jul 20 |
nicklas |
61 |
|
5981 |
07 Jul 20 |
nicklas |
62 |
} |