Spaces:
Running
Running
from flask import Flask, render_template, request | |
import threading | |
import time | |
from main import run_backup | |
app = Flask(__name__) | |
last_backup_time = "Never" | |
schedule_interval = 0 | |
running_thread = None | |
def schedule_loop(): | |
global last_backup_time | |
while True: | |
if schedule_interval > 0: | |
run_backup() | |
last_backup_time = time.ctime() | |
time.sleep(schedule_interval * 60) | |
else: | |
time.sleep(10) | |
def index(): | |
global schedule_interval, last_backup_time | |
if request.method == "POST": | |
if request.form.get("manual_run"): | |
last_backup_time = time.ctime() | |
result = run_backup() | |
else: | |
schedule_interval = int(request.form.get("interval", 0)) | |
result = f"Timer set for every {schedule_interval} min" | |
else: | |
result = "" | |
return render_template("index.html", last_run=last_backup_time, result=result, interval=schedule_interval) | |
if __name__ == "__main__": | |
running_thread = threading.Thread(target=schedule_loop, daemon=True) | |
running_thread.start() | |
app.run(host="0.0.0.0", port=7860) |