ibm-appconfiguration-python-sdk 0.3.5__tar.gz → 0.3.6__tar.gz
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- {ibm_appconfiguration_python_sdk-0.3.5/ibm_appconfiguration_python_sdk.egg-info → ibm_appconfiguration_python_sdk-0.3.6}/PKG-INFO +1 -1
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/configuration_handler.py +18 -6
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/common/config_messages.py +1 -1
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/version.py +1 -1
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6/ibm_appconfiguration_python_sdk.egg-info}/PKG-INFO +1 -1
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/setup.py +1 -1
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/LICENSE +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/README.md +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/examples/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/examples/sample_app.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/examples/server_sample.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/appconfiguration.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/common/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/common/config_constants.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/api_manager.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/compute_percentage.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/connectivity.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/file_manager.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/logger.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/metering.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/socket.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/url_builder.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/internal/utils/validators.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/configuration_type.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/feature.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/property.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/rule.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/segment.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration/configurations/models/segment_rules.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration_python_sdk.egg-info/SOURCES.txt +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration_python_sdk.egg-info/dependency_links.txt +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration_python_sdk.egg-info/requires.txt +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/ibm_appconfiguration_python_sdk.egg-info/top_level.txt +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/integration_tests/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/integration_tests/test_integration.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/setup.cfg +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/test_feature.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/test_property.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/test_rule.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/test_segment.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/models/test_segment_rules.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/test_configuration_handler.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/__init__.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/test_api_manager.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/test_file_manager.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/test_metering.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/test_socket.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/configurations/utils/test_url_builder.py +0 -0
- {ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/unit_tests/test_appconfiguration.py +0 -0
|
@@ -32,6 +32,14 @@ from .internal.utils.socket import Socket
|
|
|
32
32
|
from .internal.utils.url_builder import URLBuilder
|
|
33
33
|
from .internal.utils.connectivity import Connectivity
|
|
34
34
|
from .internal.utils.api_manager import APIManager
|
|
35
|
+
import sys
|
|
36
|
+
from time import sleep
|
|
37
|
+
|
|
38
|
+
# Server max time out is assumed to be 1 week = 604800 seconds = 40320*15
|
|
39
|
+
sys.setrecursionlimit(40320)
|
|
40
|
+
|
|
41
|
+
# delay between each web socket connection retry
|
|
42
|
+
delay = 15
|
|
35
43
|
|
|
36
44
|
|
|
37
45
|
class ConfigurationHandler:
|
|
@@ -62,7 +70,7 @@ class ConfigurationHandler:
|
|
|
62
70
|
self.__segment_map = dict()
|
|
63
71
|
self.__live_config_update_enabled = True
|
|
64
72
|
ConfigurationHandler.__instance = self
|
|
65
|
-
self.__retry_interval =
|
|
73
|
+
self.__retry_interval = 120
|
|
66
74
|
self.__bootstrap_file = None
|
|
67
75
|
self.__persistent_cache_dir = None
|
|
68
76
|
self.__persistent_data = None
|
|
@@ -510,7 +518,7 @@ class ConfigurationHandler:
|
|
|
510
518
|
Logger.error(f'error while while fetching {exception}')
|
|
511
519
|
else:
|
|
512
520
|
Logger.error(response.get_result())
|
|
513
|
-
if status_code is None:
|
|
521
|
+
if status_code is None or status_code == 499:
|
|
514
522
|
"""
|
|
515
523
|
status_code will be None in-case of
|
|
516
524
|
|
|
@@ -518,7 +526,7 @@ class ConfigurationHandler:
|
|
|
518
526
|
Check api_manager.py for more info.
|
|
519
527
|
2. request failed due to unknown "Exception".
|
|
520
528
|
"""
|
|
521
|
-
Logger.info(config_messages.
|
|
529
|
+
Logger.info(config_messages.RETRY_AFTER_TWO_MINUTES)
|
|
522
530
|
timer = Timer(self.__retry_interval, self.__fetch_from_api)
|
|
523
531
|
timer.daemon = True
|
|
524
532
|
timer.start()
|
|
@@ -534,12 +542,16 @@ class ConfigurationHandler:
|
|
|
534
542
|
Logger.debug(f'Received message from socket. {message}')
|
|
535
543
|
elif error_state:
|
|
536
544
|
Logger.error(f'Received error from socket. {error_state}')
|
|
545
|
+
Logger.info('Reconnecting to server....')
|
|
546
|
+
self.__on_socket_retry = True
|
|
547
|
+
sleep(delay)
|
|
537
548
|
self.__start_web_socket()
|
|
538
549
|
elif closed_state:
|
|
539
550
|
Logger.error('Received close connection from socket.')
|
|
540
|
-
|
|
541
|
-
|
|
542
|
-
|
|
551
|
+
Logger.info('Reconnecting to server....')
|
|
552
|
+
self.__on_socket_retry = True
|
|
553
|
+
sleep(delay)
|
|
554
|
+
self.__start_web_socket()
|
|
543
555
|
elif open_state:
|
|
544
556
|
if self.__on_socket_retry:
|
|
545
557
|
self.__on_socket_retry = False
|
|
@@ -38,5 +38,5 @@ FEATURE_INVALID = "Invalid feature_id - "
|
|
|
38
38
|
NO_INTERNET_CONNECTION_ERROR = 'No connection to internet. Please re-connect.'
|
|
39
39
|
PROPERTY_INVALID = "Invalid property_id - "
|
|
40
40
|
CONFIGURATIONS_FETCH_SUCCESS = "Successfully fetched the configurations."
|
|
41
|
-
|
|
41
|
+
RETRY_AFTER_TWO_MINUTES = "Failed to fetch the configurations. Retrying after 2 minutes."
|
|
42
42
|
INPUT_PARAMETER_NOT_BOOLEAN = "Input parameter passed to use_private_endpoint() method is not boolean. Default value will be used."
|
|
File without changes
|
|
File without changes
|
{ibm_appconfiguration_python_sdk-0.3.5 → ibm_appconfiguration_python_sdk-0.3.6}/examples/__init__.py
RENAMED
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
|
File without changes
|