Loading lib/galaxy/webapps/galaxy/api/jobs.py +22 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ from galaxy.schema.types import OffsetNaiveDatetime from galaxy.web import ( expose_api, expose_api_anonymous, expose_api_anonymous_and_sessionless, require_admin, ) from galaxy.webapps.base.controller import UsesVisualizationMixin Loading Loading @@ -339,6 +340,27 @@ class JobController(BaseGalaxyAPIController, UsesVisualizationMixin): exceptions.RequestParameterInvalidException(f"Job with id '{job.tool_id}' is not paused") return self.__dictify_associations(trans, job.output_datasets, job.output_library_datasets) @expose_api_anonymous_and_sessionless def finish(self, trans: ProvidesUserContext, id, **kwd) -> List[dict]: """ * PUT /api/jobs/{id}/finish Finished a job regardless of execution status (ie early job finish) :type id: stromg :param id: Encoded job id :rtype: list of dicts :returns: list of dictionaries containing output dataset associations """ job = self.__get_job(trans, id) if not job: raise exceptions.ObjectNotFound("Could not access job with the given id") if job.state == job.states.RUNNING: self.job_manager.finish_early(job) else: exceptions.RequestParameterInvalidException(f"Job with id '{job.tool_id}' is not running.") return self.__dictify_associations(trans, job.output_datasets, job.output_library_datasets) @expose_api_anonymous def metrics(self, trans: ProvidesUserContext, **kwd): """ Loading lib/galaxy/webapps/galaxy/buildapp.py +3 −0 Original line number Diff line number Diff line Loading @@ -1004,6 +1004,9 @@ def populate_api_routes(webapp, app): webapp.mapper.connect( "resume", "/api/jobs/{id}/resume", controller="jobs", action="resume", conditions=dict(method=["PUT"]) ) webapp.mapper.connect( "finish", "/api/jobs/{id}/finish", controller="jobs", action="finish", conditions=dict(method=["PUT"]) ) webapp.mapper.connect( "job_error", "/api/jobs/{id}/error", controller="jobs", action="error", conditions=dict(method=["POST"]) ) Loading Loading
lib/galaxy/webapps/galaxy/api/jobs.py +22 −0 Original line number Diff line number Diff line Loading @@ -45,6 +45,7 @@ from galaxy.schema.types import OffsetNaiveDatetime from galaxy.web import ( expose_api, expose_api_anonymous, expose_api_anonymous_and_sessionless, require_admin, ) from galaxy.webapps.base.controller import UsesVisualizationMixin Loading Loading @@ -339,6 +340,27 @@ class JobController(BaseGalaxyAPIController, UsesVisualizationMixin): exceptions.RequestParameterInvalidException(f"Job with id '{job.tool_id}' is not paused") return self.__dictify_associations(trans, job.output_datasets, job.output_library_datasets) @expose_api_anonymous_and_sessionless def finish(self, trans: ProvidesUserContext, id, **kwd) -> List[dict]: """ * PUT /api/jobs/{id}/finish Finished a job regardless of execution status (ie early job finish) :type id: stromg :param id: Encoded job id :rtype: list of dicts :returns: list of dictionaries containing output dataset associations """ job = self.__get_job(trans, id) if not job: raise exceptions.ObjectNotFound("Could not access job with the given id") if job.state == job.states.RUNNING: self.job_manager.finish_early(job) else: exceptions.RequestParameterInvalidException(f"Job with id '{job.tool_id}' is not running.") return self.__dictify_associations(trans, job.output_datasets, job.output_library_datasets) @expose_api_anonymous def metrics(self, trans: ProvidesUserContext, **kwd): """ Loading
lib/galaxy/webapps/galaxy/buildapp.py +3 −0 Original line number Diff line number Diff line Loading @@ -1004,6 +1004,9 @@ def populate_api_routes(webapp, app): webapp.mapper.connect( "resume", "/api/jobs/{id}/resume", controller="jobs", action="resume", conditions=dict(method=["PUT"]) ) webapp.mapper.connect( "finish", "/api/jobs/{id}/finish", controller="jobs", action="finish", conditions=dict(method=["PUT"]) ) webapp.mapper.connect( "job_error", "/api/jobs/{id}/error", controller="jobs", action="error", conditions=dict(method=["POST"]) ) Loading