]> git.argeo.org Git - gpl/argeo-slc.git/blob - runtime/org.argeo.slc.specs/src/main/java/org/argeo/slc/execution/ExecutionProcess.java
Clean up warnings
[gpl/argeo-slc.git] / runtime / org.argeo.slc.specs / src / main / java / org / argeo / slc / execution / ExecutionProcess.java
1 package org.argeo.slc.execution;
2
3 import java.util.List;
4
5 /**
6 * A process is the functional representation of a combination of executions.
7 * While an execution is the actual java code running, a process exists before,
8 * during and after the execution actually took place, providing an entry point
9 * for the definition of executions, their monitoring (e.g. logging) and
10 * tracking. A process can be distributed or parallelized. <br/>
11 * NEW => INITIALIZED => SCHEDULED => RUNNING<br/>
12 * RUNNING => {COMPLETED | ERROR | KILLED}<br/>
13 * {COMPLETED | ERROR | KILLED} => PURGED<br/>
14 * UNKOWN : this is a bug if this status occurs<br/>
15 */
16 public interface ExecutionProcess {
17 /** The process is not yet usable. */
18 public final static String NEW = "NEW";
19 /** The process is usable but not yet scheduled to run. */
20 public final static String INITIALIZED = "INITIALIZED";
21 /** The process is usable and scheduled to run, but not yet running. */
22 public final static String SCHEDULED = "SCHEDULED";
23 /** The process is currently running. */
24 public final static String RUNNING = "RUNNING";
25 /** The process has properly completed. */
26 public final static String COMPLETED = "COMPLETED";
27 /** The process failed because of an unexpected error. */
28 public final static String ERROR = "ERROR";
29 /** The process was killed explicitly or through a crash. */
30 public final static String KILLED = "KILLED";
31 /** The status cannot be retrieved (probably because of unexpected errors). */
32 public final static String UNKOWN = "UNKOWN";
33
34 /**
35 * Only a reference to the process has been kept, all monitoring data such
36 * as logs have been purged.
37 */
38 public final static String PURGED = "PURGED";
39
40 /** The UUID of this process. */
41 public String getUuid();
42
43 /** The current status of this process. */
44 public String getStatus();
45
46 /** Sets the current status of this process */
47 public void setStatus(String status);
48
49 public void addSteps(List<ExecutionStep> steps);
50 }