def install_task(): if cache.get('install_task'): return True if cache.get('install_exists'): return True sql = db.Sql() sql.table('tasks').where("status=?", ('-1', )).setField('status', '0') taskArr = sql.table('tasks').where( "status=?", ('0', )).field('id,type,execstr').order("id asc").select() cache.set('install_exists', True) cache.delete('install_task') logPath = '/tmp/panelExec.log' for value in taskArr: start = int(time.time()) if not sql.table('tasks').where("id=?", (value['id'], )).count(): continue sql.table('tasks').where("id=?", (value['id'], )).save('status,start', ('-1', start)) if value['type'] == 'download': import downloadFile argv = value['execstr'].split('|bt|') downloadFile.downloadFile().DownloadFile(argv[0], argv[1]) elif value['type'] == 'execshell': os.system(value['execstr'] + " > " + logPath + " 2>&1") end = int(time.time()) sql.table('tasks').where("id=?", (value['id'], )).save('status,end', ('1', end)) cache.delete('install_exists')
def downloadFromXls(xlsPath, localPath): df = pd.read_excel(xlsPath) df = pd.DataFrame(df) for i, row in df.iterrows(): address = "https://www.ncbi.nlm.nih.gov" + getattr(row, "LInk") print(str(i) + ": " + address) try: downloadFile(address=address, localPath=localPath, local_file_name=i) except: print("ERROR" + str(i) + ' ' + address) return
def down(self,url,filename): print(url) print("Download to %s"%filename) down=downloadFile.downloadFile() ret=down.DownloadFile(url,filename) print('Download completed') return True
def down(self, url, filename): print(url) print("下载到%s" % filename) down = downloadFile.downloadFile() ret = down.DownloadFile(url, filename) print('下载完成') return True
def execute_task(self,id,task_type,task_shell,other=''): if not os.path.exists(self.__task_path): os.makedirs(self.__task_path,384) log_file = self.__task_path + str(id) + '.log' #标记状态执行时间 self.modify_task(id,'status',-1) self.modify_task(id,'exectime',int(time.time())) task_type = int(task_type) #开始执行 if task_type == 0: #执行命令 os.system(task_shell + ' &> ' + log_file) elif task_type == 1: #下载文件 down_file = downloadFile.downloadFile() down_file.logPath = log_file print(down_file.DownloadFile(task_shell,other)) elif task_type == 2: #解压文件 zip_info = json.loads(other) self._unzip(task_shell,zip_info['dfile'],zip_info['password'],log_file) elif task_type == 3: #压缩文件 zip_info = json.loads(other) if not 'z_type' in zip_info: zip_info['z_type'] = 'tar.gz' print(self._zip(task_shell,zip_info['sfile'],zip_info['dfile'],log_file,zip_info['z_type'])) elif task_type == 4: #备份数据库 self.backup_database(task_shell,log_file) elif task_type == 5: #导入数据库 self.input_database(task_shell,other,log_file) elif task_type == 6: #备份网站 self.backup_site(task_shell,log_file) elif task_type == 7: #恢复网站 pass #标记状态与结束时间 self.modify_task(id,'status',1) self.modify_task(id,'endtime',int(time.time()))
def __init__(self, url, XMLName): print 'init xmlReader' self.dlFile = downloadFile(url, XMLName) self.url = url # self.extendURL = extendURL self.XMLName = XMLName
def __init__(self, url, extendURL, XMLName): self.dlFile = downloadFile(url, extendURL, XMLName) self.url = url self.extendURL = extendURL self.XMLName = XMLName