diff options
author | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-04-25 10:02:09 +0200 |
---|---|---|
committer | Jon Marius Venstad <jvenstad@yahoo-inc.com> | 2018-04-25 10:02:09 +0200 |
commit | 47372c2f703d498f273a5dec38b246f232e5bf40 (patch) | |
tree | e5cc93f3c9c096872868ffae1b4276b176f0f0c2 /controller-api | |
parent | d82730695ca5a0e74e8bc0a8a985bd1da5af3ae5 (diff) |
Differentiate between idle, running, queued, disabled build jobs
Diffstat (limited to 'controller-api')
2 files changed, 23 insertions, 5 deletions
diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/BuildService.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/BuildService.java index e9fa196d44e..bb2de87796b 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/BuildService.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/BuildService.java @@ -16,10 +16,25 @@ public interface BuildService { void trigger(BuildJob buildJob); /** - * Returns whether the given job is currently running. + * Returns the state of the given job in the build service. */ - // TODO jvenstad: Change to enum State { idle, running, queued, disabled } - boolean isRunning(BuildJob buildJob); + JobState stateOf(BuildJob buildJob); + + enum JobState { + + /** Job is not running, and may be triggered. */ + idle, + + /** Job is already running, and will be queued if triggered now. */ + running, + + /** Job is running and queued and will automatically be started again after it finishes its current run. */ + queued, + + /** Job is disabled, i.e., it can not be triggered. */ + disabled + + } class BuildJob { diff --git a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockBuildService.java b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockBuildService.java index 9219619dc9e..a8320f56fff 100644 --- a/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockBuildService.java +++ b/controller-api/src/main/java/com/yahoo/vespa/hosted/controller/api/integration/stubs/MockBuildService.java @@ -9,6 +9,9 @@ import java.util.ArrayList; import java.util.Collections; import java.util.List; +import static com.yahoo.vespa.hosted.controller.api.integration.BuildService.JobState.idle; +import static com.yahoo.vespa.hosted.controller.api.integration.BuildService.JobState.running; + /** * @author jvenstad */ @@ -22,8 +25,8 @@ public class MockBuildService extends AbstractComponent implements BuildService } @Override - public boolean isRunning(BuildJob buildJob) { - return jobs.contains(buildJob); + public JobState stateOf(BuildJob buildJob) { + return jobs.contains(buildJob) ? running : idle; } /** List all running jobs. */ |