Exemple #1
0
 def get_file(self, filename):
     dirs = csys.list_dir(self.path)
     for run in dirs:
         if run.startswith("run.") or run.startswith("raw."):
             if filename == "stdout":
                 return os.path.join(self.path, run, filename)
             else:
                 return os.path.join(self.path, run, "output", filename)
Exemple #2
0
 def storage(self):
     dirs = csys.list_dir(self.path)
     for run in dirs:
         if run.startswith("run.") or run.startswith("raw."):
             config_file = metadata.ConfigFile(
                 os.path.join(self.path, run, "status.json"))
             status = config_file.read_variable("status", "submitted")
             if status == "done":
                 return run
     return ""
Exemple #3
0
 def image_id(self):
     dirs = csys.list_dir(self.path)
     for run in dirs:
         if run.startswith("run."):
             config_file = metadata.ConfigFile(
                 os.path.join(self.path, run, "status.json"))
             status = config_file.read_variable("status", "submitted")
             if status == "built":
                 return config_file.read_variable("image_id")
     return ""
 def jobs(self, condition):
     # storage_path = csys.storage_path()
     storage_path = os.path.join(os.environ["HOME"],
                                 ".ChernMachine/Storage")
     job_id_list = csys.list_dir(storage_path)
     print("job id list {0}".format(job_id_list), file=sys.stderr)
     job_list = []
     for job_id in job_id_list:
         print("check job {0}".format(job_id), file=sys.stderr)
         job = VJob(os.path.join(storage_path, job_id))
         if job.job_type() == "container":
             job = VContainer(job.path)
         elif job.job_type() == "image":
             job = VImage(job.path)
         else:
             continue
         print("{0} {1}".format(job, job.status()), file=sys.stderr)
         if job.status() == condition:
             job_list.append(job)
     return job_list
Exemple #5
0
 def status(self):
     dirs = csys.list_dir(self.path)
     if self.is_locked(): return "locked"
     running = False
     for run in dirs:
         if run.startswith("run.") or run.startswith("raw."):
             config_file = metadata.ConfigFile(
                 os.path.join(self.path, run, "status.json"))
             status = config_file.read_variable("status")
             if status == "done":
                 return status
             if status == "failed":
                 return status
             if status == "running":
                 running = True
     if self.is_raw():
         return "raw"
     if running:
         return "running"
     return "submitted"
Exemple #6
0
    def status(self):
        dirs = csys.list_dir(self.path)
        for run in dirs:
            if run.startswith("run."):
                config_file = metadata.ConfigFile(
                    os.path.join(self.path, run, "status.json"))
                status = config_file.read_variable("status", "submitted")
                print("status is ", status, file=sys.stderr)
                if status != "submitted":
                    return status

        if self.is_locked():
            return "locked"
        return "submitted"

        status = self.config_file.read_variable("status")
        if status is None:
            return "submitted"
        else:
            return status
Exemple #7
0
 def outputs(self):
     dirs = csys.list_dir(self.path)
     for run in dirs:
         if run.startswith("run.") or run.startswith("raw."):
             return csys.list_dir(os.path.join(self.path, run, "output"))
     return []