Esempio n. 1
0
 def stop_job(self, job_wrapper):
     """Attempts to delete a job from the DRM queue"""
     job = job_wrapper.get_job()
     external_id = job.job_runner_external_id
     galaxy_id_tag = job_wrapper.get_id_tag()
     if job.container:
         try:
             log.info(
                 f"stop_job(): {job.id}: trying to stop container .... ({external_id})"
             )
             # self.watched = [cjs for cjs in self.watched if cjs.job_id != external_id]
             new_watch_list = list()
             cjs = None
             for tcjs in self.watched:
                 if tcjs.job_id != external_id:
                     new_watch_list.append(tcjs)
                 else:
                     cjs = tcjs
                     break
             self.watched = new_watch_list
             self._stop_container(job_wrapper)
             # self.watched.append(cjs)
             if cjs.job_wrapper.get_state() != model.Job.states.DELETED:
                 external_metadata = not asbool(
                     cjs.job_wrapper.job_destination.params.get(
                         "embed_metadata_in_job", True))
                 if external_metadata:
                     self._handle_metadata_externally(
                         cjs.job_wrapper, resolve_requirements=True)
                 log.debug(
                     f"({galaxy_id_tag}/{external_id}) job has completed")
                 self.work_queue.put((self.finish_job, cjs))
         except Exception as e:
             log.warning(
                 f"stop_job(): {job.id}: trying to stop container failed. ({e})"
             )
             try:
                 self._kill_container(job_wrapper)
             except Exception as e:
                 log.warning(
                     f"stop_job(): {job.id}: trying to kill container failed. ({e})"
                 )
                 failure_message = condor_stop(external_id)
                 if failure_message:
                     log.debug(
                         f"({external_id}). Failed to stop condor {failure_message}"
                     )
     else:
         failure_message = condor_stop(external_id)
         if failure_message:
             log.debug(
                 f"({external_id}). Failed to stop condor {failure_message}"
             )
Esempio n. 2
0
 def stop_job(self, job):
     """Attempts to delete a job from the DRM queue"""
     external_id = job.job_runner_external_id
     failure_message = condor_stop(external_id)
     if failure_message:
         log.debug("(%s/%s). Failed to stop condor %s" %
                   (external_id, failure_message))
Esempio n. 3
0
 def stop_job(self, job_wrapper):
     """Attempts to delete a job from the DRM queue"""
     job = job_wrapper.get_job()
     external_id = job.job_runner_external_id
     failure_message = condor_stop(external_id)
     if failure_message:
         log.debug("(%s). Failed to stop condor %s" % (external_id, failure_message))