def task(): page = request.args.get("page") if 'username' not in session: flash("No User Logged in", "warning") return render_template("login.html") form = TaskForm(request.form) if request.method == 'POST' and form.validate() and form.validate_end_date(form.end_date) and form.validate_sheet_url(form.sheet_url) and form.validate_sheet_name(form.sheet_url): # function created by me to validate the enddate (enddate > startdate) new_task = Tasks( name=form.name.data, description=form.description.data, start_date=form.start_date.data, end_date=form.end_date.data, sheet_name=form.sheet_name.data, sheet_url=form.sheet_url.data, created_by=session["username"], status=Status.PE, bot_assigned=form.bot_assigned.data ) db.session.add(new_task) db.session.commit() # schedule the bot here bot_name = str(new_task.bot_assigned.split(" ")[0]) trigger_name = new_task.sheet_name +"_" + str(new_task.id) stop_date = new_task.end_date.strftime("%Y-%m-%d") print(bot_name) # parameters to be passed to the bot while scheduling start_date = new_task.start_date.strftime("%Y-%m-%d") sheet_uri = new_task.sheet_url faculty_mail_id = session['email_address'] task_id = new_task.id sheet = new_task.sheet_name curr_hour = datetime.datetime.now().today().hour input_args = { "start_date": start_date, "end_date": stop_date, "sheet_url": sheet_uri, "task_id": task_id, "sheet": sheet, "faculty_mail_id": faculty_mail_id } if "excel" in str(new_task.bot_assigned).lower(): long_running = True if "document" in str(new_task.bot_assigned).lower() or "synopsis" in str(new_task.bot_assigned).lower(): long_running = False schedule_tasks(bot_name =bot_name,trigger_name = trigger_name,input_arguments= input_args,curr_hour = curr_hour ,stop_date = stop_date,long_running =long_running) print("executed commad ",long_running) return redirect(url_for("dashboard", page=page)) return render_template("task.html", form=form)