def _execute(self, resthost, resturi, config, task): self.logger.info('Cleaning filemetadata older than 30 days..') server = HTTPRequests(resthost, config.TaskWorker.cmscert, config.TaskWorker.cmskey, retry = 2) ONE_MONTH = 24 * 30 try: instance = resturi.split('/')[2] server.delete('/crabserver/%s/filemetadata' % instance, data=urllib.urlencode({'hours': ONE_MONTH})) #TODO return fro the server a value (e.g.: ["ok"]) to see if everything is ok # result = server.delete('/crabserver/dev/filemetadata', data=urllib.urlencode({'hours': ONE_MONTH}))[0]['result'][0] # self.logger.info('FMDCleaner, got %s' % result) except HTTPException, hte: self.logger.error(hte.headers)
def kill(self, job): """Kill all the jobs on the task.""" """ if not os.path.exists(job.inputdata.ui_working_dir): raise CRABServerError('Workdir "%s" not found.' % job.inputdata.ui_working_dir) if not job.master: cmd = 'crab -kill all -c %s' % job.inputdata.ui_working_dir else: cmd = 'crab -kill %d -c %s' % (int(job.id) + 1, job.inputdata.ui_working_dir) self._send_with_retry(cmd, 'kill', job.backend.crab_env) return True """ try: server = HTTPRequests(job.backend.server_name, job.backend.userproxy) resource = job.backend.apiresource+'workflow' dictresult, status, reason = server.delete(resource, data = urllib.urlencode({ 'workflow' : job.backend.taskname})) logger.info("Kill answer: %s" % status) logger.info("Kill dictresult: %s" % dictresult) return True except HTTPException, e: logger.error(type(e)) logger.error(e.req_headers) logger.error(e.req_data) logger.error(e.reason) logger.error(e.message) logger.error(e.headers) logger.error(e.result) logger.error(e.status) logger.error(e.url) logger.error(e.args) raise e
def _execute(self, resthost, resturi, config, task): self.logger.info('Cleaning filemetadata older than 30 days..') server = HTTPRequests(resthost, config.TaskWorker.cmscert, config.TaskWorker.cmskey, retry=2) ONE_MONTH = 24 * 30 try: instance = resturi.split('/')[2] server.delete('/crabserver/%s/filemetadata' % instance, data=urllib.urlencode({'hours': ONE_MONTH})) #TODO return fro the server a value (e.g.: ["ok"]) to see if everything is ok # result = server.delete('/crabserver/dev/filemetadata', data=urllib.urlencode({'hours': ONE_MONTH}))[0]['result'][0] # self.logger.info('FMDCleaner, got %s' % result) except HTTPException as hte: self.logger.error(hte.headers)
def __call__(self): server = HTTPRequests(self.serverurl, self.proxyfilename, self.proxyfilename, version=__version__) self.logger.debug('Killing task %s' % self.cachedinfo['RequestName']) dictresult, status, reason = server.delete(self.uri, data = urlencode({ 'workflow' : self.cachedinfo['RequestName']}) + '&' + urlencode(self.jobids)) self.logger.debug("Result: %s" % dictresult) if status != 200: msg = "Problem killing task %s:\ninput:%s\noutput:%s\nreason:%s" % \ (self.cachedinfo['RequestName'], str(self.cachedinfo['RequestName']), str(dictresult), str(reason)) raise RESTCommunicationException(msg) self.logger.info("Kill request successfully sent") if dictresult['result'][0]['result'] != 'ok': self.logger.info(dictresult['result'][0]['result'])
def kill(self, job): """Kill all the jobs on the task.""" """ if not os.path.exists(job.inputdata.ui_working_dir): raise CRABServerError('Workdir "%s" not found.' % job.inputdata.ui_working_dir) if not job.master: cmd = 'crab -kill all -c %s' % job.inputdata.ui_working_dir else: cmd = 'crab -kill %d -c %s' % (int(job.id) + 1, job.inputdata.ui_working_dir) self._send_with_retry(cmd, 'kill', job.backend.crab_env) return True """ try: server = HTTPRequests(job.backend.server_name, job.backend.userproxy) resource = job.backend.apiresource + 'workflow' dictresult, status, reason = server.delete( resource, data=urllib.urlencode({'workflow': job.backend.taskname})) logger.info("Kill answer: %s" % status) logger.info("Kill dictresult: %s" % dictresult) return True except HTTPException, e: logger.error(type(e)) logger.error(e.req_headers) logger.error(e.req_data) logger.error(e.reason) logger.error(e.message) logger.error(e.headers) logger.error(e.result) logger.error(e.status) logger.error(e.url) logger.error(e.args) raise e