def setUp_job_manager(self): self.job_manager = RemoteManualAgentJobManager( [{ "host": "localhost", "port": self._get_port() }], {"default": "ingi/inginious-c-default"}, os.path.join(os.path.dirname(__file__), 'tasks'), self.course_factory, self.task_factory, self.generate_hook_manager(), True) self.job_manager.start()
def create_job_manager(configuration, plugin_manager, task_directory, course_factory, task_factory, is_testing=False): """ Creates a new inginious.backend job manager from the configuration """ # Create the job manager backend_type = configuration.get("backend", "local") if backend_type == "local": return LocalJobManager( configuration.get( 'containers', { "default": "ingi/inginious-c-default", "sekexe": "ingi/inginious-c-sekexe" }), task_directory, course_factory, task_factory, configuration.get('local_agent_tmp_dir', "/tmp/inginious_agent"), plugin_manager, is_testing) elif backend_type == "remote": return RemoteDockerJobManager( configuration.get("docker_daemons", []), configuration.get( 'containers', { "default": "ingi/inginious-c-default", "sekexe": "ingi/inginious-c-sekexe" }), task_directory, course_factory, task_factory, plugin_manager, is_testing) elif backend_type == "remote_manual": return RemoteManualAgentJobManager( configuration.get("agents", [{ "host": "localhost", "port": 5001 }]), configuration.get( 'containers', { "default": "ingi/inginious-c-default", "sekexe": "ingi/inginious-c-sekexe" }), task_directory, course_factory, task_factory, plugin_manager, is_testing) elif backend_type == "docker_machine": return DockerMachineJobManager( configuration.get("machines", []), configuration.get( 'containers', { "default": "ingi/inginious-c-default", "sekexe": "ingi/inginious-c-sekexe" }), task_directory, course_factory, task_factory, plugin_manager, is_testing) else: raise Exception("Unknown inginious.backend {}".format(backend_type))