From d1bb96f02e14c1bfe35c23d5ea6e3d767c1d5834 Mon Sep 17 00:00:00 2001 From: bashrc Date: Mon, 13 Apr 2026 12:46:09 +0100 Subject: [PATCH] Fix federated shares watchdog --- daemon.py | 4 +++- shares.py | 14 ++++++++++---- 2 files changed, 13 insertions(+), 5 deletions(-) diff --git a/daemon.py b/daemon.py index 3992c3093..23a792202 100644 --- a/daemon.py +++ b/daemon.py @@ -1468,7 +1468,9 @@ def run_daemon(accounts_data_dir: str, print('THREAD: Creating federated shares watchdog') httpd.thrFederatedSharesWatchdog = \ thread_with_trace(target=run_federated_shares_watchdog, - args=(project_version, httpd), daemon=True) + args=(base_dir, httpd, + http_prefix, + proxy_type, debug), daemon=True) begin_thread(httpd.thrFederatedSharesWatchdog, 'run_daemon thrFederatedSharesWatchdog') print('THREAD: Creating federated blocks thread') diff --git a/shares.py b/shares.py index c26621e88..7a0c11039 100644 --- a/shares.py +++ b/shares.py @@ -57,6 +57,7 @@ from siteactive import site_is_active from content import get_price_from_string from blocking import is_blocked from threads import begin_thread +from threads import thread_with_trace from cache import remove_person_from_cache from cache import store_person_in_cache @@ -1787,13 +1788,13 @@ def _update_federated_shares_cache(session, shared_items_federated_domains: [], time.sleep(2) -def run_federated_shares_watchdog(project_version: str, httpd) -> None: +def run_federated_shares_watchdog(base_dir: str, httpd, + http_prefix: str, + proxy_type: str, debug: bool) -> None: """This tries to keep the federated shares update thread running even if it dies """ print('THREAD: Starting federated shares watchdog') - federated_shares_original = \ - httpd.thrPostSchedule.clone(run_federated_shares_daemon) begin_thread(httpd.thrFederatedSharesDaemon, 'run_federated_shares_watchdog') while True: @@ -1803,7 +1804,12 @@ def run_federated_shares_watchdog(project_version: str, httpd) -> None: httpd.thrFederatedSharesDaemon.kill() print('THREAD: restarting federated shares watchdog') httpd.thrFederatedSharesDaemon = \ - federated_shares_original.clone(run_federated_shares_daemon) + thread_with_trace(target=run_federated_shares_daemon, + args=(base_dir, httpd, + http_prefix, httpd.domain_full, + proxy_type, debug, + httpd.system_language, + httpd.mitm_servers), daemon=True) begin_thread(httpd.thrFederatedSharesDaemon, 'run_federated_shares_watchdog 2') print('Restarting federated shares daemon...')