Skip to content

Commit 1fab7cc

Browse files
No network calls in __init__ (#168)
1 parent 047156f commit 1fab7cc

File tree

2 files changed

+24
-9
lines changed

2 files changed

+24
-9
lines changed

statsig/spec_store.py

Lines changed: 8 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -56,14 +56,17 @@ def __init__(self, network: _StatsigNetwork, options: StatsigOptions, statsig_me
5656

5757
self._id_lists = {}
5858

59-
if not options.local_mode:
60-
self._initialize_specs()
61-
self.initial_update_time = -1 if self.last_update_time == 0 else self.last_update_time
59+
def initialize(self):
60+
if self._options.local_mode:
61+
self._initialized = True
62+
return
6263

63-
self.spawn_bg_threads_if_needed()
64+
self._initialize_specs()
65+
self.initial_update_time = -1 if self.last_update_time == 0 else self.last_update_time
6466

65-
self._download_id_lists(for_initialize=True)
67+
self.spawn_bg_threads_if_needed()
6668

69+
self._download_id_lists(for_initialize=True)
6770
self._initialized = True
6871

6972
def is_ready_for_checks(self):

statsig/statsig_server.py

Lines changed: 16 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -66,14 +66,26 @@ def _initialize_impl(self, sdk_key: str, options: Optional[StatsigOptions]):
6666
self.__shutdown_event = threading.Event()
6767
self.__statsig_metadata = _StatsigMetadata.get()
6868
self._network = _StatsigNetwork(
69-
sdk_key, options, self._errorBoundary)
69+
sdk_key,
70+
self._options,
71+
self._errorBoundary)
7072
self._logger = _StatsigLogger(
71-
self._network, self.__shutdown_event, self.__statsig_metadata, self._errorBoundary,
72-
options)
73+
self._network,
74+
self.__shutdown_event,
75+
self.__statsig_metadata,
76+
self._errorBoundary,
77+
self._options)
7378
self._spec_store = _SpecStore(
74-
self._network, self._options, self.__statsig_metadata, self._errorBoundary, self.__shutdown_event,
79+
self._network,
80+
self._options,
81+
self.__statsig_metadata,
82+
self._errorBoundary,
83+
self.__shutdown_event,
7584
self._diagnostics)
85+
7686
self._evaluator = _Evaluator(self._spec_store)
87+
88+
self._spec_store.initialize()
7789
self._initialized = True
7890

7991
self._diagnostics.mark("initialize", "overall", "end")

0 commit comments

Comments
 (0)