diff options
| author | mjkwiatkowski <mati.rewa@gmail.com> | 2026-06-15 23:54:52 +0200 |
|---|---|---|
| committer | mjkwiatkowski <mati.rewa@gmail.com> | 2026-06-15 23:54:52 +0200 |
| commit | fa3ec84a38ca24157d5fb52a9715d9dad9a3e8c6 (patch) | |
| tree | f8da16e1e176b3153ad46cbb6830898181ec7680 /opendc-experiments | |
| parent | 0731bd58889df127ef87aba2590d505d79e6646f (diff) | |
feat: migrated the SmarScheduler and the KafkaMonitor
Diffstat (limited to 'opendc-experiments')
| -rw-r--r-- | opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt | 36 |
1 files changed, 27 insertions, 9 deletions
diff --git a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt index d231b93b..1fe597ea 100644 --- a/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt +++ b/opendc-experiments/opendc-experiments-base/src/main/kotlin/org/opendc/experiments/base/runner/ExperimentCli.kt @@ -28,27 +28,45 @@ import com.github.ajalt.clikt.core.CliktCommand import com.github.ajalt.clikt.parameters.options.defaultLazy import com.github.ajalt.clikt.parameters.options.option import com.github.ajalt.clikt.parameters.types.file +import org.opendc.common.utils.HTTPClient import org.opendc.experiments.base.experiment.getExperiment import java.io.File +import java.io.IOException /** * Main entrypoint of the application. */ -public fun main(args: Array<String>): Unit = ExperimentCommand().main(args) +public fun main(args: Array<String>) { + if(args.size == 2) ExperimentCommand().main(args) + else ExperimentListener().main(args) +} -/** - * Represents the command for the Scenario experiments. - */ internal class ExperimentCommand : CliktCommand(name = "experiment") { - /** - * The path to the environment directory. - */ private val experimentPath by option("--experiment-path", help = "path to experiment file") .file(canBeDir = false, canBeFile = true) .defaultLazy { File("resources/experiment.json") } override fun run() { - val experiment = getExperiment(experimentPath) - runExperiment(experiment) + try { + val experiment = getExperiment(experimentPath) + HTTPClient.getInstance()?.sendExperiment(experimentPath) + runExperiment(experiment) + } catch (e: IOException) { + println("${e.message}") + } + } +} +/** + * Entry point to the digital twin. + * + * @author Mateusz Kwiatkowski + */ +internal class ExperimentListener: CliktCommand(name = "listener") { + override fun run() { + try { + runListener() + } catch (e: IOException) { + println("${e.message}") + } } } |
