Esempio n. 1
0
 def updateStatus(self, majorStatus, minorStatus, **kwargs):
     """ passes status """
     my_dict = {"t_id": self.jobId, "inst_id": self.instanceId, "major_status": majorStatus,
                "minor_status": minorStatus}
     if 'resources' in kwargs:
         if kwargs['resources']:
             RM = kwargs['resources']
             if not isinstance(RM, ResourceMonitor):
                 raise Exception("resource must be of type resource monitor")
             my_dict['memory'] = RM.getMemory(unit='Mb')
             my_dict['cpu'] = RM.getCpuTime()
             del kwargs['resources']
     my_dict.update(kwargs)
     if majorStatus in FINAL_STATII:
         # keep only NUMLINES of log file.
         theLog = self.error_log.splitlines()
         if len(theLog) > NUMLINES_LOG:
             self.error_log = "\n".join(theLog[-(NUMLINES_LOG-1):-1])
         my_dict['log']=self.error_log
     # print '*DEBUG* my_dict: %s'%str(my_dict)
     res = Rpost("%s/jobstatus/" % DAMPE_WORKFLOW_URL, data={"args": dumps(my_dict)})
     res.raise_for_status()
     if not res.json().get("result", "nok") == "ok":
         raise Exception(res.json().get("error", "ErrorMissing"))
     if majorStatus in ["Done", "Failed", "Terminated"]:
         witness = open(oPath.join(self.wd, "%s" % majorStatus.upper()), 'w')
         witness.write(self.getJobName())
         witness.close()
     return
Esempio n. 2
0
 def postmark_spamcheck(self, message, options):
     data = {'email': message, 'options': options}
     result = POST(self.postmark_spamcheck_url, data)
     result.raise_for_status()
     content = loads(result.content)
     if 'error' in content:
         raise Exception(content['message'])
     return content
 def postmark_spamcheck(self, message, options):
     data = {'email': message, 'options': options}
     result = POST(self.postmark_spamcheck_url, data)
     result.raise_for_status()
     content = loads(result.content)
     if 'error' in content:
         raise Exception(content['message'])
     return content
Esempio n. 4
0
 def registerDS(self, filename=None, overwrite=False):
     site = cfg.get("site", "name")
     if filename is None:
         files = [fi['target'] for fi in self.OutputFiles]
     else:
         files = [filename]
     for fi in files:
         tg = oPath.expandvars(fi)
         res = Rpost("%s/datacat/" % DAMPE_WORKFLOW_URL, data={"filename": tg, "site": site,
                                                               "action": "register",
                                                               "overwrite": str(overwrite)})
         res.raise_for_status()
         if not res.json().get("result", "nok") == "ok":
             raise Exception(res.json().get("error", "No error provided."))