fix double running job

This commit is contained in:
Karl Hudgell 2025-04-07 08:34:56 +01:00
parent d32e9038f8
commit 91c48b512f

View File

@ -84,9 +84,18 @@ def scheduled_task() -> None:
if user_config["frame"]["auto_regen"] == "True": if user_config["frame"]["auto_regen"] == "True":
if os.environ.get("WERKZEUG_RUN_MAIN") == "true":
scheduler = BackgroundScheduler() scheduler = BackgroundScheduler()
regen_time = user_config["frame"]["regen_time"].split(":") regen_time = user_config["frame"]["regen_time"].split(":")
scheduler.add_job(scheduled_task, "cron", hour=regen_time[0], minute=regen_time[1]) scheduler.add_job(
scheduled_task,
"cron",
hour=regen_time[0],
minute=regen_time[1],
id="scheduled_task",
max_instances=1, # prevent overlapping
replace_existing=True # don't double-schedule
)
scheduler.start() scheduler.start()
os.makedirs(image_folder, exist_ok=True) os.makedirs(image_folder, exist_ok=True)