summaryrefslogtreecommitdiff
path: root/opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc
diff options
context:
space:
mode:
Diffstat (limited to 'opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc')
-rw-r--r--opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc/web/runner/runtime/OpenDCRunnerRecorder.java10
1 files changed, 9 insertions, 1 deletions
diff --git a/opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc/web/runner/runtime/OpenDCRunnerRecorder.java b/opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc/web/runner/runtime/OpenDCRunnerRecorder.java
index b243dbc3..c1f356bc 100644
--- a/opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc/web/runner/runtime/OpenDCRunnerRecorder.java
+++ b/opendc-web/opendc-web-runner-quarkus/src/main/java/org/opendc/web/runner/runtime/OpenDCRunnerRecorder.java
@@ -44,11 +44,19 @@ public class OpenDCRunnerRecorder {
*/
public RuntimeValue<OpenDCRunner> createRunner(OpenDCRunnerRuntimeConfig config) {
URI apiUrl = URI.create(config.apiUrl);
+
+ int parallelism = config.parallelism;
+ if (parallelism < 0) {
+ throw new IllegalArgumentException("Parallelism must be non-negative");
+ } else if (parallelism == 0) {
+ parallelism = Math.min(1, Runtime.getRuntime().availableProcessors() - 1);
+ }
+
OpenDCRunnerClient client = new OpenDCRunnerClient(apiUrl, null);
OpenDCRunner runner = new OpenDCRunner(
client,
new File(config.tracePath),
- config.parallelism,
+ parallelism,
config.jobTimeout,
config.pollInterval,
config.heartbeatInterval