1010from contextlib import suppress
1111from enum import Enum
1212from threading import Event , Thread
13- from time import sleep , time
13+ from time import sleep
1414from typing import Any
1515
1616import niquests
2323from .chain .ingest .injest import embed_sources
2424from .chain .one_shot import process_context_query
2525from .chain .types import ContextException , EnrichedSourceList , LLMOutput , ScopeList , SearchResult
26+ from .controller import get_enabled_state
2627from .dyn_loader import LLMModelLoader , VectorDBLoader
2728from .network_em import NetworkEmbeddings
2829from .types import (
@@ -138,18 +139,12 @@ def _load_sources(source_items: Mapping[int, SourceItem | ReceivedFileItem]) ->
138139 LOGGER .info (f'Using { file_parsing_cpu_count } parallel file parsing workers' )
139140
140141 nc = NextcloudApp ()
141- last_enabled_check = time ()
142- enabled_state = nc .enabled_state
143142 while True :
144143 if THREAD_STOP_EVENT .is_set ():
145144 LOGGER .info ('Files indexing thread is stopping due to stop event being set' )
146145 return
147146
148- if time () - last_enabled_check > 30 : # check enabled state every 30 seconds
149- enabled_state = nc .enabled_state
150- last_enabled_check = time ()
151-
152- if not enabled_state :
147+ if not get_enabled_state ():
153148 LOGGER .info ('App is disabled, files indexing thread will sleep until next enabled state check' )
154149 sleep (POLLING_COOLDOWN )
155150 continue
@@ -292,18 +287,12 @@ def updates_processing_thread(app_config: TConfig) -> None:
292287 return
293288
294289 nc = NextcloudApp ()
295- enabled_state = nc .enabled_state
296- last_enabled_check = time ()
297290 while True :
298291 if THREAD_STOP_EVENT .is_set ():
299292 LOGGER .info ('Updates processing thread is stopping due to stop event being set' )
300293 return
301294
302- if time () - last_enabled_check > 30 : # check enabled state every 30 seconds
303- enabled_state = nc .enabled_state
304- last_enabled_check = time ()
305-
306- if not enabled_state :
295+ if not get_enabled_state ():
307296 sleep (POLLING_COOLDOWN )
308297 continue
309298
@@ -487,8 +476,6 @@ def request_processing_thread(app_config: TConfig) -> None:
487476 return
488477
489478 nc = NextcloudApp ()
490- enabled_state = nc .enabled_state
491- last_enabled_check = time ()
492479 llm : LLM = llm_loader .load ()
493480
494481 while True :
@@ -500,11 +487,7 @@ def request_processing_thread(app_config: TConfig) -> None:
500487 sleep (POLLING_COOLDOWN )
501488 continue
502489
503- if time () - last_enabled_check > 30 : # check enabled state every 30 seconds
504- enabled_state = nc .enabled_state
505- last_enabled_check = time ()
506-
507- if not enabled_state :
490+ if not get_enabled_state ():
508491 sleep (POLLING_COOLDOWN )
509492 continue
510493
0 commit comments