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