mirror of
https://github.com/ohwgiles/laminar.git
synced 2024-10-27 20:34:20 +00:00
3fde38c6b8
Implement a separate process, the "leader", which runs all the scripts for a job run, instead of directly from the main laminard process. This makes for a cleaner process tree view, where the owning job for a given script is clear; also the leader process acts as a subreaper to clean up any wayward descendent processes. Resolves #78.
37 lines
836 B
Cap'n Proto
37 lines
836 B
Cap'n Proto
@0xc2cbd510f16dab57;
|
|
|
|
interface LaminarCi {
|
|
|
|
queue @0 (jobName :Text, params :List(JobParam)) -> (result :MethodResult);
|
|
start @1 (jobName :Text, params :List(JobParam)) -> (result :MethodResult, buildNum :UInt32);
|
|
run @2 (jobName :Text, params :List(JobParam)) -> (result :JobResult, buildNum :UInt32);
|
|
listQueued @3 () -> (result :List(Text));
|
|
listRunning @4 () -> (result :List(Run));
|
|
listKnown @5 () -> (result :List(Text));
|
|
abort @6 (run :Run) -> (result :MethodResult);
|
|
|
|
struct Run {
|
|
job @0 :Text;
|
|
buildNum @1 :UInt32;
|
|
}
|
|
|
|
struct JobParam {
|
|
name @0 :Text;
|
|
value @1 :Text;
|
|
}
|
|
|
|
enum MethodResult {
|
|
failed @0;
|
|
success @1;
|
|
}
|
|
|
|
enum JobResult {
|
|
unknown @0;
|
|
failed @1;
|
|
aborted @2;
|
|
success @3;
|
|
}
|
|
|
|
}
|
|
|