def _run_jihaw_cleanup(archive_dir, app=None): app = app or _mock_app() job = model.Job() job.tool_stderr = '' jiha = model.JobImportHistoryArchive(job=job, archive_dir=archive_dir) app.model.context.current.add_all([job, jiha]) app.model.context.flush() jihaw = JobImportHistoryArchiveWrapper(app, job.id) # yeehaw! return app, jihaw.cleanup_after_job()
def _run_jihaw_cleanup(history_archive, msg): app = MockApp() job = model.Job() job.stderr = '' jiha = model.JobImportHistoryArchive(job=job, archive_dir=history_archive.arc_directory) app.model.context.current.add_all([job, jiha]) app.model.context.flush() jihaw = JobImportHistoryArchiveWrapper(app, 1) # yeehaw! try: jihaw.cleanup_after_job() data = app.object_store.get_data(model.Dataset(1)) assert data != 'insecure', msg except MalformedContents: pass
def execute(self, tool, trans, incoming=None, set_output_hid=False, overwrite=True, history=None, **kwargs): # # Create job. # incoming = incoming or {} trans.check_user_activation() job = trans.app.model.Job() job.galaxy_version = trans.app.config.version_major session = trans.get_galaxy_session() job.session_id = session and session.id if history: history_id = history.id elif trans.history: history_id = trans.history.id else: history_id = None job.history_id = history_id job.tool_id = tool.id job.user_id = trans.user.id start_job_state = job.state # should be job.states.NEW job.state = job.states.WAITING # we need to set job state to something other than NEW, or else when tracking jobs in db it will be picked up before we have added input / output parameters trans.sa_session.add(job) trans.sa_session.flush() # ensure job.id are available # # Setup job and job wrapper. # # Add association for keeping track of job, history relationship. # Use abspath because mkdtemp() does not, contrary to the documentation, # always return an absolute path. archive_dir = os.path.abspath(tempfile.mkdtemp()) jiha = trans.app.model.JobImportHistoryArchive(job=job, archive_dir=archive_dir) trans.sa_session.add(jiha) job_wrapper = JobImportHistoryArchiveWrapper(trans.app, job) job_wrapper.setup_job(jiha, incoming['__ARCHIVE_SOURCE__'], incoming["__ARCHIVE_TYPE__"]) # # Add parameters to job_parameter table. # # Set additional parameters. incoming['__DEST_DIR__'] = jiha.archive_dir for name, value in tool.params_to_strings(incoming, trans.app).items(): job.add_parameter(name, value) job.state = start_job_state # job inputs have been configured, restore initial job state return job, {}