def _handling_of_preprocessing_state(self, job_id, launch_config): job_directory = self._proxied_manager.job_directory(job_id) try: yield launch_kwds = {} if launch_config.get("dependencies_description"): dependencies_description = DependenciesDescription.from_dict( launch_config["dependencies_description"]) launch_kwds[ "dependencies_description"] = dependencies_description for kwd in ["submit_params", "setup_params", "env"]: if kwd in launch_config: launch_kwds[kwd] = launch_config[kwd] self._proxied_manager.launch(job_id, launch_config["command_line"], **launch_kwds) with job_directory.lock("status"): job_directory.store_metadata(JOB_FILE_PREPROCESSED, True) self.active_jobs.activate_job(job_id) except Exception as e: with job_directory.lock("status"): job_directory.store_metadata(JOB_FILE_PREPROCESSING_FAILED, True) job_directory.store_metadata("return_code", 1) job_directory.write_file("stderr", str(e)) self.__state_change_callback(status.FAILED, job_id) log.exception("Failed job preprocessing for job %s:", job_id)
def _handling_of_preprocessing_state(self, job_id, launch_config): job_directory = self._proxied_manager.job_directory(job_id) try: yield launch_kwds = {} if launch_config.get("dependencies_description"): dependencies_description = DependenciesDescription.from_dict(launch_config["dependencies_description"]) launch_kwds["dependencies_description"] = dependencies_description for kwd in ["submit_params", "setup_params", "env"]: if kwd in launch_config: launch_kwds[kwd] = launch_config[kwd] self._proxied_manager.launch( job_id, launch_config["command_line"], **launch_kwds ) with job_directory.lock("status"): job_directory.store_metadata(JOB_FILE_PREPROCESSED, True) self.active_jobs.activate_job(job_id) except Exception as e: with job_directory.lock("status"): job_directory.store_metadata(JOB_FILE_PREPROCESSING_FAILED, True) job_directory.store_metadata("return_code", 1) job_directory.write_file("stderr", str(e)) self.__state_change_callback(status.FAILED, job_id) log.exception("Failed job preprocessing for job %s:", job_id)
def __extra_job_description_kwargs(options): dependencies_description = None test_requirement = getattr(options, "test_requirement", False) if test_requirement: requirements = [TEST_REQUIREMENT] dependencies_description = DependenciesDescription(requirements=requirements) test_env = getattr(options, "test_env", False) env = [] if test_env: env.append(dict(name="TEST_ENV", value="TEST_ENV_VALUE")) return dict(dependencies_description=dependencies_description, env=env)
def __extra_job_description_kwargs(options): dependencies_description = None test_requirement = getattr(options, "test_requirement", False) if test_requirement: requirements = [TEST_REQUIREMENT] dependencies_description = DependenciesDescription( requirements=requirements) test_env = getattr(options, "test_env", False) env = [] if test_env: env.append(dict(name="TEST_ENV", value="TEST_ENV_VALUE")) container = getattr(options, "container", None) remote_pulsar_app_config = getattr(options, "remote_pulsar_app_config", None) return dict(dependencies_description=dependencies_description, env=env, container=container, remote_pulsar_app_config=remote_pulsar_app_config)
def setUp(self): super(TestStager, self).setUp() from .test_utils import get_test_tool self.tool = get_test_tool() self.client = MockClient(self.temp_directory, self.tool) inputs = self.__setup_inputs() self.client_job_description = ClientJobDescription( tool=self.tool, command_line="run_test.exe", config_files=[], input_files=inputs, client_outputs=ClientOutputs( "/galaxy/database/working_directory/1", []), working_directory="/galaxy/database/working_directory/1", dependencies_description=DependenciesDescription( requirements=[TEST_REQUIREMENT_1, TEST_REQUIREMENT_2]), env=[TEST_ENV_1], rewrite_paths=False, ) self.job_config = dict( working_directory="/lwr/staging/1/working", outputs_directory="/lwr/staging/1/outputs", system_properties=dict(separator="\\", ), )
open(join(output1_extras_path, "extra"), "w").write("EXTRA_OUTPUT_CONTENTS") version_output.write("1.0.1") output4_index_path.write(index_path) finally: output.close() config_input.close() output2.close() output3.close() version_output.close() output4_index_path.close() """ EXPECTED_OUTPUT = b"hello world output" EXAMPLE_UNICODE_TEXT = u'єχαмρℓє συтρυт' TEST_REQUIREMENT = ToolRequirement(name="dep1", version="1.1", type="package") TEST_DEPENDENCIES = DependenciesDescription(requirements=[TEST_REQUIREMENT]) class MockTool(object): def __init__(self, tool_dir): self.id = "client_test" self.version = "1.0" self.tool_dir = tool_dir def run(options): waiter = None try: temp_directory = tempfile.mkdtemp() temp_index_dir = os.path.join(temp_directory, "idx", "bwa")