def add_task(): data = request.json project_name = data.get('projectName') scene_names = data.get('sceneNames') task_id = data.get('id') num = data.get('num') name = data.get('name') task_type = data.get('taskType') to_email = data.get('toEmail') send_email = data.get('sendEmail') time_config = data.get('timeConfig') if task_type == 'date': try: datetime.datetime(*[int(t) for t in time_config.split(',')]) print(datetime.datetime(*[int(t) for t in time_config.split(',')])) except Exception as e: print(e) return jsonify({'msg': '时间配置格式错误', 'status': 0}) else: if len(time_config.strip().split(' ')) != 6: return jsonify({'msg': 'cron格式错误', 'status': 0}) if task_id: old_task_data = Task.query.filter_by(id=task_id).first() if Task.query.filter_by( task_name=name).first() and name != old_task_data.task_name: return jsonify({'msg': '任务名字重复', 'status': 0}) else: old_task_data.project_name = project_name old_task_data.scene_names = json.dumps(scene_names) old_task_data.task_name = name old_task_data.task_type = task_type old_task_data.task_to_email_address = to_email old_task_data.task_send_email_address = send_email old_task_data.num = num if old_task_data.status != '创建' and old_task_data.task_config_time != time_config: scheduler.reschedule_job(str(task_id), trigger='cron', **change_cron(time_config)) # 修改任务 old_task_data.status = '启动' old_task_data.task_config_time = time_config db.session.commit() return jsonify({'msg': '修改成功', 'status': 1}) else: if Task.query.filter_by(task_name=name).first(): return jsonify({'msg': '任务名字重复', 'status': 0}) else: new_task = Task(task_name=name, project_name=project_name, scene_names=json.dumps(scene_names), task_type=task_type, task_to_email_address=to_email, task_send_email_address=send_email, task_config_time=time_config, num=num) db.session.add(new_task) db.session.commit() return jsonify({'msg': '新建成功', 'status': 1})
def add_task(): data = request.json project_name = data.get('projectName') # set_ids = [i['id'] for i in data.get('setIds')] # case_ids = [i['id'] for i in data.get('sceneIds')] if data.get('sceneIds') else '' set_ids = data.get('setIds') case_ids = data.get('caseIds') task_id = data.get('id') num = data.get('num') name = data.get('name') task_type = 'cron' to_email = data.get('toEmail') send_email = data.get('sendEmail') time_config = data.get('timeConfig') if len(time_config.strip().split(' ')) != 6: return jsonify({'msg': 'cron格式错误', 'status': 0}) if task_id: old_task_data = Task.query.filter_by(id=task_id).first() if Task.query.filter_by( task_name=name).first() and name != old_task_data.task_name: return jsonify({'msg': '任务名字重复', 'status': 0}) else: old_task_data.project_name = project_name old_task_data.set_id = json.dumps(set_ids) old_task_data.case_id = json.dumps(case_ids) old_task_data.task_name = name old_task_data.task_type = task_type old_task_data.task_to_email_address = to_email old_task_data.task_send_email_address = send_email old_task_data.num = num if old_task_data.status != '创建' and old_task_data.task_config_time != time_config: scheduler.reschedule_job(str(task_id), trigger='cron', **change_cron(time_config)) # 修改任务 old_task_data.status = '启动' old_task_data.task_config_time = time_config db.session.commit() return jsonify({'msg': '修改成功', 'status': 1}) else: if Task.query.filter_by(task_name=name).first(): return jsonify({'msg': '任务名字重复', 'status': 0}) else: new_task = Task(task_name=name, project_name=project_name, set_id=json.dumps(set_ids), case_id=json.dumps(case_ids), task_type=task_type, task_to_email_address=to_email, task_send_email_address=send_email, task_config_time=time_config, num=num) db.session.add(new_task) db.session.commit() return jsonify({'msg': '新建成功', 'status': 1})
def tweet_change_interval(id): actor = Actor.query.filter_by(id=id).first() if not actor: return redirect('/') if request.method == 'POST': minutes = int(request.form['intervalo']) reschedule_job(id=actor.id, minutes=minutes) return redirect("/tweets/view/" + actor.username)
def add_task(): """ 任务添加、修改 """ data = request.json project_id = data.get('projectId') if not project_id: return jsonify({'msg': '请选择项目', 'status': 0}) set_ids = data.get('setIds') case_ids = data.get('caseIds') task_id = data.get('id') num = auto_num(data.get('num'), Task, project_id=project_id) name = data.get('name') task_type = 'cron' to_email = data.get('toEmail') send_email = data.get('sendEmail') password = data.get('password') # 0 0 1 * * * if not (not to_email and not send_email and not password) and not (to_email and send_email and password): return jsonify({'msg': '发件人、收件人、密码3个必须都为空,或者都必须有值', 'status': 0}) time_config = data.get('timeConfig') if len(time_config.strip().split(' ')) != 6: return jsonify({'msg': 'cron格式错误', 'status': 0}) if task_id: old_task_data = Task.query.filter_by(id=task_id).first() if Task.query.filter_by( task_name=name).first() and name != old_task_data.task_name: return jsonify({'msg': '任务名字重复', 'status': 0}) else: old_task_data.project_id = project_id old_task_data.set_id = json.dumps(set_ids) old_task_data.case_id = json.dumps(case_ids) old_task_data.task_name = name old_task_data.task_type = task_type old_task_data.task_to_email_address = to_email old_task_data.task_send_email_address = send_email old_task_data.email_password = password old_task_data.num = num if old_task_data.status != '创建' and old_task_data.task_config_time != time_config: scheduler.reschedule_job(str(task_id), trigger='cron', **change_cron(time_config)) # 修改任务 old_task_data.status = '启动' old_task_data.task_config_time = time_config db.session.commit() return jsonify({'msg': '修改成功', 'status': 1}) else: if Task.query.filter_by(task_name=name).first(): return jsonify({'msg': '任务名字重复', 'status': 0}) else: new_task = Task(task_name=name, project_id=project_id, set_id=json.dumps(set_ids), case_id=json.dumps(case_ids), email_password=password, task_type=task_type, task_to_email_address=to_email, task_send_email_address=send_email, task_config_time=time_config, num=num) db.session.add(new_task) db.session.commit() return jsonify({'msg': '新建成功', 'status': 1})
def change_interval(): if request.method == 'POST': minutes = int(request.form['intervalo']) reschedule_job(id='actors', minutes=minutes) return redirect("/atores/")
def relations_change_interval(): if request.method == 'POST': minutes = int(request.form['intervalo']) reschedule_job(id='relations', minutes=minutes) return redirect("/relacoes/")