# -*- coding:utf-8 -*- ''' cron: 20 10 */7 * * new Env('禁用重复任务'); ''' import json import os, sys import requests import time ip="localhost" //填写你要保留的脚本的前缀 substr="cdle_carry" def loadSend(): print("加载推送功能") global send send = None cur_path = os.path.abspath(os.path.dirname(__file__)) sys.path.append(cur_path) if os.path.exists(cur_path + "/sendNotify.py"): try: from sendNotify import send except Exception as e: send = None print("加载通知服务失败~",e) headers={ "Accept": "application/json", "User-Agent" : "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/92.0.4515.131 Safari/537.36", } def getTaskList(): t = round(time.time() * 1000) url = "http://%s:5700/api/crons?searchValue=&t=%d" % (ip, t) response = requests.get(url=url, headers=headers) responseContent=json.loads(response.content.decode('utf-8')) if responseContent['code']==200: taskList= responseContent['data'] return taskList else: # 没有获取到taskList,返回空 return [] def getDuplicate(taskList): wholeNames={} duplicateID=[] taskListTemp=[] for index in range(len(taskList)): task=taskList[index] if task['name'] in wholeNames.keys() and task['command'].find(substr) < 0: duplicateID.append(task['_id']) else: taskListTemp.append(task) wholeNames[task['name']] = 1 #print(taskListTemp) return getDuplicateCommon(taskListTemp,duplicateID) def getDuplicateCommon(taskListTemp,duplicateID): #if len(duplicateID)==0: # return duplicateID duplicateIDTemp=[] for task in taskListTemp: for taskTemp in taskListTemp: if task['_id'] != taskTemp['_id'] and task['name'] == taskTemp['name'] and task['command'].find(substr) < 0: duplicateID.append(task['_id']) return duplicateID def getData(duplicateID): rawData = "[" count=0 for id in duplicateID: rawData += "\"%s\""%id if count