From ce5b31485c7f24b76cef80dbb34277cc0b4abefd Mon Sep 17 00:00:00 2001 From: zwitschi Date: Sun, 10 May 2026 09:18:18 +0200 Subject: [PATCH] refactor: remove dashboard startup function and adjust message deletion schedule --- main.py | 40 +++++----------------------------------- 1 file changed, 5 insertions(+), 35 deletions(-) diff --git a/main.py b/main.py index 4c56ae2..7a68552 100644 --- a/main.py +++ b/main.py @@ -162,34 +162,6 @@ def get_next_scheduled_event(now: datetime | None = None) -> dict: return {"at": next_dt, "type": next_type} -def start_dashboard() -> None: - """Start the minimal dashboard in a background thread.""" - enabled = os.getenv("DASHBOARD_ENABLED", "1").strip().lower() not in { - "0", "false", "no"} - if not enabled: - return - - host = os.getenv("DASHBOARD_HOST", "0.0.0.0") - port = int(os.getenv("DASHBOARD_PORT", "8080")) - - def _run() -> None: - try: - from dashboard import create_app - - app = create_app( - get_state=get_state_snapshot, - get_next_event=lambda: get_next_scheduled_event(), - ) - app.config["TEMPLATES_PATH"] = os.getenv( - "TEMPLATES_PATH", "templates.json") - app.run(host=host, port=port, debug=False, use_reloader=False) - except Exception as e: - logging.error(f"Dashboard failed to start: {e}") - - thread = threading.Thread(target=_run, name="dashboard", daemon=True) - thread.start() - - def load_timezones() -> list[dict]: """Load timezones from csv file.""" # Read the CSV file and return a list of timezones @@ -302,11 +274,11 @@ def should_delete_message( message: dict, webhook_id: str, author_id: str, - five_minutes_ago_timestamp: int, + cutoff: int, ) -> bool: message_timestamp = int(parse_message_timestamp(message).timestamp()) return ( - message_timestamp <= five_minutes_ago_timestamp + message_timestamp <= cutoff and message.get("webhook_id") == webhook_id and message.get("author", {}).get("id") == author_id ) @@ -744,16 +716,14 @@ def main() -> None: """ Main function to run the scheduler. """ - # start_dashboard() - # Schedule notifications schedule.every().hour.at(":15").do(send_notification, "reminder") schedule.every().hour.at(":20").do(send_notification, "420") # schedule.every().hour.at(":45").do(send_notification, "reminder_halftime") # schedule.every().hour.at(":50").do(send_notification, "halftime") - # Schedule deletion of old messages every 3 minutes - schedule.every(3).minutes.do(delete_old_messages, 6) + # Schedule deletion of old messages every 5 minutes + schedule.every(5).minutes.do(delete_old_messages, 6) logging.info("Scheduler started.") @@ -761,7 +731,7 @@ def main() -> None: # send_notification("420") # delete old messages on startup to clean up any previous notifications - delete_old_messages(60) + # delete_old_messages(6) try: while True: