1010from splitio .util .backoff import Backoff
1111from splitio .optional .loaders import asyncio , aiofiles
1212from splitio .sync import util
13+ from splitio .util .storage_helper import get_standard_segment_names_in_rbs_storage
1314from splitio .optional .loaders import asyncio
1415
1516_LOGGER = logging .getLogger (__name__ )
2223
2324
2425class SegmentSynchronizer (object ):
25- def __init__ (self , segment_api , feature_flag_storage , segment_storage ):
26+ def __init__ (self , segment_api , feature_flag_storage , segment_storage , rule_based_segment_storage ):
2627 """
2728 Class constructor.
2829
@@ -39,6 +40,7 @@ def __init__(self, segment_api, feature_flag_storage, segment_storage):
3940 self ._api = segment_api
4041 self ._feature_flag_storage = feature_flag_storage
4142 self ._segment_storage = segment_storage
43+ self ._rule_based_segment_storage = rule_based_segment_storage
4244 self ._worker_pool = workerpool .WorkerPool (_MAX_WORKERS , self .synchronize_segment )
4345 self ._worker_pool .start ()
4446 self ._backoff = Backoff (
@@ -182,8 +184,11 @@ def synchronize_segments(self, segment_names = None, dont_wait = False):
182184 """
183185 if segment_names is None :
184186 segment_names = self ._feature_flag_storage .get_segment_names ()
187+ segment_names .update (get_standard_segment_names_in_rbs_storage (self ._rule_based_segment_storage ))
185188
186189 for segment_name in segment_names :
190+ _LOGGER .debug ("Adding segment name to sync worker" )
191+ _LOGGER .debug (segment_name )
187192 self ._worker_pool .submit_work (segment_name )
188193 if (dont_wait ):
189194 return True
0 commit comments