mirror of
https://git.hiabuto.net/C3MA/CCMA.git
synced 2026-08-25 15:05:18 +02:00
feat: pace startup housekeeper runs
This commit is contained in:
+13
-1
@@ -119,10 +119,16 @@ class SplashScreen(tk.Toplevel):
|
||||
errors = self.repository.validate()
|
||||
self._messages.put(("status", "Baue Suchindex …"))
|
||||
self.repository.list_members()
|
||||
member_count = len(self.repository.list_member_ids())
|
||||
findings = []
|
||||
if self.run_housekeeper:
|
||||
self._messages.put(("status", "Starte Hausmeister …"))
|
||||
findings = Housekeeper(self.repository, self.housekeeper_settings).run()
|
||||
findings = Housekeeper(self.repository, self.housekeeper_settings).run(
|
||||
member_delay=_member_delay_for_splash(
|
||||
self.minimum_display_seconds,
|
||||
member_count,
|
||||
)
|
||||
)
|
||||
result = StartupResult(self.repository, errors, findings)
|
||||
self._messages.put(("result", result))
|
||||
except Exception as exc:
|
||||
@@ -265,3 +271,9 @@ def _progress_value(elapsed: float, minimum_seconds: float, startup_finished: bo
|
||||
if startup_finished:
|
||||
return elapsed_ratio * 100.0
|
||||
return elapsed_ratio * 95.0
|
||||
|
||||
|
||||
def _member_delay_for_splash(minimum_seconds: float, member_count: int) -> float:
|
||||
if minimum_seconds <= 0 or member_count <= 0:
|
||||
return 0.0
|
||||
return minimum_seconds / member_count
|
||||
|
||||
Reference in New Issue
Block a user