45 lines
1.1 KiB
Python
45 lines
1.1 KiB
Python
from mlflow.entities import RunStatus
|
|
from mlflow.projects.backend.abstract_backend import AbstractBackend
|
|
from mlflow.projects.submitted_run import SubmittedRun
|
|
from mlflow.projects.utils import fetch_and_validate_project, get_or_create_run
|
|
|
|
|
|
class DummySubmittedRun(SubmittedRun):
|
|
"""
|
|
A run that just does nothing
|
|
"""
|
|
|
|
def __init__(self, run_id):
|
|
self._run_id = run_id
|
|
|
|
def wait(self):
|
|
return True
|
|
|
|
def get_status(self):
|
|
return RunStatus.FINISHED
|
|
|
|
def cancel(self):
|
|
pass
|
|
|
|
@property
|
|
def run_id(self):
|
|
return self._run_id
|
|
|
|
|
|
class PluginDummyProjectBackend(AbstractBackend):
|
|
def run(
|
|
self,
|
|
project_uri,
|
|
entry_point,
|
|
params,
|
|
version,
|
|
backend_config,
|
|
tracking_uri,
|
|
experiment_id,
|
|
):
|
|
work_dir = fetch_and_validate_project(project_uri, version, entry_point, params)
|
|
active_run = get_or_create_run(
|
|
None, project_uri, experiment_id, work_dir, version, entry_point, params
|
|
)
|
|
return DummySubmittedRun(active_run.info.run_id)
|