(run_class, run)
| 63 | |
| 64 | |
| 65 | def legacy_runner(run_class, run): |
| 66 | from vulnerabilities.import_runner import ImportRunner |
| 67 | from vulnerabilities.improve_runner import ImproveRunner |
| 68 | |
| 69 | exitcode = 0 |
| 70 | output = "" |
| 71 | pipeline_id = run.pipeline.pipeline_id |
| 72 | |
| 73 | log_stream = StringIO() |
| 74 | handler = logging.StreamHandler(log_stream) |
| 75 | module_name = pipeline_id.rsplit(".", 1)[0] |
| 76 | logger_modules = [module_name] |
| 77 | if module_name.startswith("vulnerabilities.improvers."): |
| 78 | logger_modules.append("vulnerabilities.improve_runner") |
| 79 | elif module_name.startswith("vulnerabilities.importers."): |
| 80 | logger_modules.append("vulnerabilities.import_runner") |
| 81 | |
| 82 | loggers = [] |
| 83 | for name in logger_modules: |
| 84 | logger = logging.getLogger(name) |
| 85 | logger.setLevel(logging.INFO) |
| 86 | logger.addHandler(handler) |
| 87 | loggers.append(logger) |
| 88 | |
| 89 | try: |
| 90 | if issubclass(run_class, Importer): |
| 91 | ImportRunner(run_class).run() |
| 92 | run.append_to_log(f"Successfully imported data using {pipeline_id}") |
| 93 | elif issubclass(run_class, Improver): |
| 94 | ImproveRunner(improver_class=run_class).run() |
| 95 | run.append_to_log(f"Successfully improved data using {pipeline_id}") |
| 96 | except Exception as e: |
| 97 | output = (f"Failed to run {pipeline_id}: {e!r} \n {traceback_format_exc()}",) |
| 98 | exitcode = 1 |
| 99 | |
| 100 | run.append_to_log(log_stream.getvalue(), is_multiline=True) |
| 101 | [logger.removeHandler(handler) for logger in loggers] |
| 102 | |
| 103 | return exitcode, output |
| 104 | |
| 105 | |
| 106 | def set_run_failure(job, connection, type, value, traceback): |
no test coverage detected