protected override ITaskRunner CreateRunner(string submissionSource, string studentId, string artifactPath) => DockerRunner.Create( task: new DockerRunnerTask( submissionSource, studentId, Timeout, new ContainerConfig(imageName: ImageName, envVariables: ContainerEnvVariables, createParams: ContainerParams), submissionSource, SubmissionDirInContainer, artifactPath, ArtifactDirInContainer, string.IsNullOrEmpty(ServiceContainerImage) ? null : new ContainerConfig(imageName: ServiceContainerImage, envVariables: ServiceContainerEnvVariables, name: ServiceContainerName)), logger);
static async Task Purge(TyeHost host) { var logger = host.DashboardWebApplication !.Logger; var replicaRegistry = new ReplicaRegistry(host.Application.ContextDirectory, logger); var processRunner = new ProcessRunner(logger, replicaRegistry, new ProcessRunnerOptions()); var dockerRunner = new DockerRunner(logger, replicaRegistry); await processRunner.StartAsync(new Application(new FileInfo(host.Application.Source), new Dictionary <string, Service>())); await dockerRunner.StartAsync(new Application(new FileInfo(host.Application.Source), new Dictionary <string, Service>())); }