@@ -332,6 +332,14 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
332332 }
333333 imp_strategy = strategies [cfg ['impressionsMode' ]]
334334
335+ imp_counter = ImpressionsCounter () if cfg ['impressionsMode' ] != ImpressionsMode .DEBUG else None
336+
337+ strategies = {
338+ ImpressionsMode .OPTIMIZED : StrategyOptimizedMode (imp_counter ),
339+ ImpressionsMode .DEBUG : StrategyDebugMode (),
340+ }
341+ imp_strategy = strategies [cfg ['impressionsMode' ]]
342+
335343 imp_manager = ImpressionsManager (
336344 _wrap_impression_listener (cfg ['impressionListener' ], sdk_metadata ),
337345 imp_strategy )
@@ -344,6 +352,7 @@ def _build_in_memory_factory(api_key, cfg, sdk_url=None, events_url=None, # pyl
344352 EventSynchronizer (apis ['events' ], storages ['events' ], cfg ['eventsBulkSize' ]),
345353 ImpressionsCountSynchronizer (apis ['impressions' ], imp_manager ),
346354 )
355+ imp_count_sync_task = ImpressionsCountSyncTask (synchronizers .impressions_count_sync .synchronize_counters ) if cfg ['impressionsMode' ] == 'OPTIMIZED' else None
347356
348357 tasks = SplitTasks (
349358 SplitSynchronizationTask (
@@ -429,7 +438,6 @@ def _build_redis_factory(api_key, cfg):
429438 recorder ,
430439 )
431440
432-
433441def _build_localhost_factory (cfg ):
434442 """Build and return a localhost factory for testing/development purposes."""
435443 storages = {
@@ -456,6 +464,7 @@ def _build_localhost_factory(cfg):
456464 synchronizer = LocalhostSynchronizer (synchronizers , tasks )
457465 manager = Manager (ready_event , synchronizer , None , False , sdk_metadata )
458466 manager .start ()
467+
459468 recorder = StandardRecorder (
460469 ImpressionsManager (None , StrategyDebugMode ()),
461470 storages ['events' ],
0 commit comments