@@ -660,11 +660,7 @@ Multi-threading for multi-users is achieved using Initializer's static **switch_
660660switch_user() takes the value initialized previously for enviroment, token and sdk_config incase None is passed (or default value is passed). In case of request_proxy, if intended, the value has to be passed again else None(default value) will be taken.
661661
662662```python
663- # without proxy
664663Initializer.switch_user(environment=environment, token=token, sdk_config=sdk_config_instance)
665-
666- # with proxy
667- Initializer.switch_user(environment=environment, token=token, sdk_config=sdk_config_instance, proxy=request_proxy)
668664```
669665
670666Here is a sample code to depict multi-threading for a multi-user app.
@@ -678,24 +674,21 @@ from zohocrmsdk.src.com.zoho.api.logger import Logger
678674from zohocrmsdk.src.com.zoho.crm.api.initializer import Initializer
679675from zohocrmsdk.src.com.zoho.api.authenticator.oauth_token import OAuthToken
680676from zohocrmsdk.src.com.zoho.crm.api.record import *
681- from zohocrmsdk.src.com.zoho.crm.api.request_proxy import RequestProxy
682677from zohocrmsdk.src.com.zoho.crm.api.sdk_config import SDKConfig
683678
684679
685680class MultiThread(threading.Thread):
686681
687- def __init__(self, environment, token, module_api_name, sdk_config, proxy=None ):
682+ def __init__(self, environment, token, module_api_name, sdk_config):
688683 super().__init__()
689684 self.environment = environment
690685 self.token = token
691686 self.module_api_name = module_api_name
692687 self.sdk_config = sdk_config
693- self.proxy = proxy
694688
695689 def run(self):
696690 try:
697- Initializer.switch_user(environment=self.environment, token=self.token, sdk_config=self.sdk_config,
698- proxy=self.proxy)
691+ Initializer.switch_user(environment=self.environment, token=self.token, sdk_config=self.sdk_config)
699692 param_instance = ParameterMap()
700693 param_instance.add(GetRecordsParam.fields, "id")
701694 response = RecordOperations(self.module_api_name).get_records(param_instance)
@@ -724,10 +717,8 @@ class MultiThread(threading.Thread):
724717
725718 @staticmethod
726719 def call():
727- logger = Logger.get_instance(level=Logger.Levels.INFO,
728- file_path="/Users/user_name/Documents/python_sdk_log.log")
729- token1 = OAuthToken(client_id="clientId1", client_secret="clientSecret1", grant_token="Grant Token",
730- refresh_token="refresh_token", id="id")
720+ logger = Logger.get_instance(level=Logger.Levels.INFO, file_path="/Users/user_name/Documents/python_sdk_log.log")
721+ token1 = OAuthToken(client_id="clientId1", client_secret="clientSecret1", grant_token="grant_token")
731722 environment1 = USDataCenter.PRODUCTION()
732723 store = DBStore()
733724 sdk_config_1 = SDKConfig(auto_refresh_fields=True, pick_list_validation=False)
@@ -736,13 +727,10 @@ class MultiThread(threading.Thread):
736727 user2_module_api_name = ' Contacts'
737728 environment2 = EUDataCenter.SANDBOX()
738729 sdk_config_2 = SDKConfig(auto_refresh_fields=False, pick_list_validation=True)
739- token2 = OAuthToken(client_id="clientId2", client_secret="clientSecret2", grant_token="GRANT Token",
740- refresh_token="refresh_token", redirect_url="redirectURL", id="id")
741- request_proxy_user_2 = RequestProxy("host", 8080)
742- Initializer.initialize(environment=environment1, token=token1, store=store, sdk_config=sdk_config_1,
743- resource_path=resource_path, logger=logger)
730+ token2 = OAuthToken(client_id="clientId2", client_secret="clientSecret2", grant_token="grant_token")
731+ Initializer.initialize(environment=environment1, token=token1, store=store, sdk_config=sdk_config_1, resource_path=resource_path, logger=logger)
744732 t1 = MultiThread(environment1, token1, user1_module_api_name, sdk_config_1)
745- t2 = MultiThread(environment2, token2, user2_module_api_name, sdk_config_2, request_proxy_user_2 )
733+ t2 = MultiThread(environment2, token2, user2_module_api_name, sdk_config_2)
746734 t1.start()
747735 t2.start()
748736 t1.join()
0 commit comments