DockerRunner

Runner to execute a pipeline on docker and generates a ReportT

Default values for constructor creates a trivial DockerRunner just to emit errors in a ReportT

Constructors

Link copied to clipboard
constructor(stages: Pipeline, context: DockerRunner.Context)

Types

Link copied to clipboard
object Companion
Link copied to clipboard
class Context(submissionId: String, assignmentConfigId: Long, stageWaitDuration: Duration = Duration.ofMinutes(1), earlyReturnOnThrow: Boolean = false, envContext: DockerContext) : Runner.Context
Link copied to clipboard

Properties

Link copied to clipboard
Link copied to clipboard
private var _envLogPath: Path?
Link copied to clipboard
private var _graderLogPath: Path?
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
private val asyncBind: Deferred<DockerDaemon>

Asynchronous task which binds this runner to a daemon.

Link copied to clipboard
private val asyncUnbind: Job

Asynchronous task which unbinds this runner from a daemon.

Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
protected val logger: Logger
Link copied to clipboard
private val memoReport: ReportT
Link copied to clipboard
private val outPaths: MountedPaths
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard

Functions

Link copied to clipboard
Link copied to clipboard
fun appendToFile(relativePath: String, content: String)
Link copied to clipboard
override fun close()
Link copied to clipboard
protected open override fun closeImpl()
Link copied to clipboard
fun compressFile(relativePath: String, compressorName: String, keepOriginal: Boolean): Path
Link copied to clipboard
protected fun createLogDirectories()
Link copied to clipboard
fun decompressFile(relativePath: String, keepOriginal: Boolean): Path
Link copied to clipboard
suspend fun execWithInput(input: Any): StageResult
Link copied to clipboard
private suspend fun execWithInputAsync(input: Any): Deferred<StageResult>

Asynchronous implementation of execWithInput.

Link copied to clipboard
protected open suspend override fun execWithInputImpl(input: Any): StageResult
Link copied to clipboard
Link copied to clipboard
Link copied to clipboard
fun printErrors(logMethod: (String) -> Unit)
Link copied to clipboard
Link copied to clipboard
fun putError(pipelineError: Runner.PipelineError)
Link copied to clipboard
Link copied to clipboard
fun readFromFile(relativePath: String): String
Link copied to clipboard
fun readLinesFromFile(relativePath: String): List<String>
Link copied to clipboard
protected fun removeLogDirectories()
Link copied to clipboard
private fun Runner.toDebugString(): String
Link copied to clipboard
fun toDigestString(concreteClassName: Boolean): String
Link copied to clipboard
fun writeToFile(relativePath: String, content: String)