From 55f702a46ca975af22442adc6b16af9f100f14a0 Mon Sep 17 00:00:00 2001 From: Rizqi Date: Sun, 28 Jun 2026 11:06:49 +0700 Subject: [PATCH] fix: relocate database loading to job action routes to ensure data consistency before modifications --- gui_app.py | 7 ++++++- 1 file changed, 6 insertions(+), 1 deletion(-) diff --git a/gui_app.py b/gui_app.py index 5d90cb3..e1276fc 100644 --- a/gui_app.py +++ b/gui_app.py @@ -204,7 +204,6 @@ def load_jobs_db(is_startup=False): def save_jobs_db(): with jobs_db_lock: - load_jobs_db() # Reload other workers' jobs first to avoid overwriting them try: conn = sqlite3.connect(DB_PATH) try: @@ -2273,6 +2272,7 @@ def api_job_status(jobid): @app.route('/job//cancel-schedule', methods=['POST']) @login_required def cancel_schedule(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: @@ -2293,6 +2293,7 @@ def cancel_schedule(jobid): @app.route('/job//reactivate-schedule', methods=['POST']) @login_required def reactivate_schedule(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: @@ -2318,6 +2319,7 @@ def reactivate_schedule(jobid): @app.route('/job//run', methods=['POST']) @login_required def run_job_now(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: @@ -2340,6 +2342,7 @@ def run_job_now(jobid): @app.route('/job//stop', methods=['POST']) @login_required def stop_job(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: @@ -2357,6 +2360,7 @@ def stop_job(jobid): @app.route('/job//delete', methods=['POST']) @login_required def delete_job(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: @@ -2390,6 +2394,7 @@ def delete_job(jobid): @app.route('/job//edit', methods=['GET', 'POST']) @login_required def edit_job(jobid): + load_jobs_db() with jobs_db_lock: info = jobs.get(jobid) if not info: