def run(arguments): try: config = parse_config_file(arguments['<config_file>']) redis = get_redis(config) metrics_cache = RedisMetricsCache(redis) sdk_api = api_factory(config) report_metrics(metrics_cache, sdk_api) except: logger.exception('Exception caught posting metrics')
def run(arguments): try: config = parse_config_file(arguments['<config_file>']) redis = get_redis(config) impressions_cache = RedisImpressionsCache(redis) sdk_api = api_factory(config) report_impressions(impressions_cache, sdk_api) except: logger.exception('Exception caught posting impressions')
def run(arguments): try: config = parse_config_file(arguments['<config_file>']) redis = get_redis(config) segment_cache = RedisSegmentCache(redis) sdk_api = api_factory(config) segment_change_fetcher = ApiSegmentChangeFetcher(sdk_api) update_segments(segment_cache, segment_change_fetcher) except: logger.exception('Exception caught updating segments')
def _report_metrics(seconds, config): try: while True: redis = get_redis(config) metrics_cache = RedisMetricsCache(redis) sdk_api = api_factory(config) report_metrics(metrics_cache, sdk_api) time.sleep(seconds) except: logger.exception('Exception caught posting metrics')
def _report_impressions(seconds, config): try: while True: redis = get_redis(config) impressions_cache = RedisImpressionsCache(redis) sdk_api = api_factory(config) report_impressions(impressions_cache, sdk_api) time.sleep(seconds) except: logger.exception('Exception caught posting impressions')
def uwsgi_report_metrics(user_config): try: config = _get_config(user_config) seconds = config['metricsRefreshRate'] while True: metrics_cache = UWSGIMetricsCache(get_uwsgi()) sdk_api = api_factory(config) report_metrics(metrics_cache, sdk_api) time.sleep(seconds) except: _logger.exception('Exception caught posting metrics')
def uwsgi_report_impressions(user_config): try: config = _get_config(user_config) seconds = config['impressionsRefreshRate'] while True: impressions_cache = UWSGIImpressionsCache(get_uwsgi()) sdk_api = api_factory(config) report_impressions(impressions_cache, sdk_api) time.sleep(seconds) except: _logger.exception('Exception caught posting impressions')
def _update_segments(seconds, config): try: while True: redis = get_redis(config) segment_cache = RedisSegmentCache(redis) sdk_api = api_factory(config) segment_change_fetcher = ApiSegmentChangeFetcher(sdk_api) update_segments(segment_cache, segment_change_fetcher) time.sleep(seconds) except: logger.exception('Exception caught updating segments')
def uwsgi_update_segments(user_config): try: config = _get_config(user_config) seconds = config['segmentsRefreshRate'] while True: segment_cache = UWSGISegmentCache(get_uwsgi()) sdk_api = api_factory(config) segment_change_fetcher = ApiSegmentChangeFetcher(sdk_api) update_segments(segment_cache, segment_change_fetcher) time.sleep(seconds) except: _logger.exception('Exception caught updating segments')
def uwsgi_report_events(user_config): try: config = _get_config(user_config) seconds = config.get('eventsRefreshRate', 30) events_cache = UWSGIEventsCache(get_uwsgi()) sdk_api = api_factory(config) task = EventsSyncTask(sdk_api, events_cache, seconds, 500) while True: task._send_events() for _ in xrange(0, seconds): if uwsgi.cache_get(UWSGIEventsCache._EVENTS_FLUSH, _SPLITIO_STATS_CACHE_NAMESPACE): uwsgi.cache_del(UWSGIEventsCache._EVENTS_FLUSH, _SPLITIO_STATS_CACHE_NAMESPACE) break time.sleep(1) except: _logger.exception('Exception caught posting metrics')
def uwsgi_update_splits(user_config): try: config = _get_config(user_config) seconds = config['featuresRefreshRate'] while True: split_cache = UWSGISplitCache(get_uwsgi()) sdk_api = api_factory(config) split_change_fetcher = ApiSplitChangeFetcher(sdk_api) segment_cache = UWSGISegmentCache(get_uwsgi()) split_parser = UWSGISplitParser(segment_cache) added, removed = update_splits(split_cache, split_change_fetcher, split_parser) split_cache.update_split_list(added, removed) time.sleep(seconds) except: _logger.exception('Exception caught updating splits')