def task_create(): ''' 创建新的任务 :return: ''' if request.method == 'POST': try: task = Task(pushTime=request.form['pushTime'], beginDate=request.form['beginDate'], endDate=request.form['endDate'], jobId=request.form['jobId'], command=request.form['command'], description=request.form['description'], updateTime=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), isRunning=0, isTest=0) task.save() user = current_user log = Log(content='创建编号为 ' + str(task.jobId) + ' 的任务', fromTask=user.userName, parameter='', createTime=datetime.datetime.now()) log.save() except Exception, e: return jsonify(dict(success=False)) return jsonify(dict(success=True))
def push_test(id): ''' 测试功能 :param id: :return: ''' if request.method == 'POST': try: task = Task.objects(_id=id).first() # 构造字符串 command = str(task.command) split = command.split('args') command = split[0] argCommand = split[1] split = command.split(',', 1) command = split[1] command = "scheduler.add_job('test1'," + command date = datetime.datetime.now() + datetime.timedelta(seconds=5) date = date.strftime("%Y-%m-%d %H:%M:%S") # 拼接新的command-trigger部分 timeGroup = re.search(r" (\d*):(\d*):(\d*)", date) args = re.search(r"=\((.*),(.*),(.*)\),", argCommand) date = datetime.datetime.now() + datetime.timedelta(days=1) date = date.strftime("%Y-%m-%d %H:%M:%S") dayGroup = re.search(r"(\d*)-(\d*)-(\d*)", date) dayGroup = dayGroup.group(1) + '-' + dayGroup.group(2) + '-' + dayGroup.group(3) reTrigger = "args=(" \ + args.group(1) \ + ",'test1','" \ + request.form["openid"] + "')," \ + "trigger={'type':'cron','start_date':'2016-08-24','hour':" \ + timeGroup.group(1) \ + ",'minute':" \ + timeGroup.group(2) \ + ",'second':" \ + timeGroup.group(3) \ + ",'end_date':'" + dayGroup + "'})" command = command + reTrigger command,timeGroup,dayGroup = splitJoinCommand(task.command,request.form["openid"]) # 新建测试任务 newTask = Task( pushTime=str(timeGroup.group(1)) + ':' + str(timeGroup.group(2)) + ':' + str(timeGroup.group(3)), beginDate='2016-08-24', endDate=dayGroup, jobId='test1', command=command, description='测试推送任务' + id, updateTime=datetime.datetime.now().strftime("%Y-%m-%d %H:%M:%S"), isRunning=0, isTest=1) newTask.save() print "start" time.sleep(7) user = current_user log = Log(content='成功进行推送测试', fromTask=user.userName, parameter='', createTime=datetime.datetime.now()) log.save() return jsonify(dict(message=0)) except Exception, e: user = current_user log = Log(content='进行推送测试失败,异常:' + e.message, fromTask=user.userName, parameter='', createTime=datetime.datetime.now()) log.save() return jsonify(dict(message=1))