@@ -334,6 +334,14 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
334334 }
335335 imp_strategy = strategies [cfg ['impressionsMode' ]]
336336
337+ imp_counter = ImpressionsCounter () if cfg ['impressionsMode' ] != ImpressionsMode .DEBUG else None
338+
339+ strategies = {
340+ ImpressionsMode .OPTIMIZED : StrategyOptimizedMode (imp_counter ),
341+ ImpressionsMode .DEBUG : StrategyDebugMode (),
342+ }
343+ imp_strategy = strategies [cfg ['impressionsMode' ]]
344+
337345 imp_manager = ImpressionsManager (
338346 _wrap_impression_listener (cfg ['impressionListener' ], sdk_metadata ),
339347 imp_strategy )
@@ -346,6 +354,7 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
346354 EventSynchronizer (apis ['events' ], storages ['events' ], cfg ['eventsBulkSize' ]),
347355 ImpressionsCountSynchronizer (apis ['impressions' ], imp_manager ),
348356 )
357+ imp_count_sync_task = ImpressionsCountSyncTask (synchronizers .impressions_count_sync .synchronize_counters ) if cfg ['impressionsMode' ] == 'OPTIMIZED' else None
349358
350359 tasks = SplitTasks (
351360 SplitSynchronizationTask (
@@ -443,7 +452,6 @@ def _build_redis_factory(api_key, cfg):
443452 recorder ,
444453 )
445454
446-
447455def _build_localhost_factory (cfg ):
448456 """Build and return a localhost factory for testing/development purposes."""
449457 storages = {
@@ -470,6 +478,7 @@ def _build_localhost_factory(cfg):
470478 synchronizer = LocalhostSynchronizer (synchronizers , tasks )
471479 manager = Manager (ready_event , synchronizer , None , False , sdk_metadata )
472480 manager .start ()
481+
473482 recorder = StandardRecorder (
474483 ImpressionsManager (None , StrategyDebugMode ()),
475484 storages ['events' ],
0 commit comments