Skip to content
This repository has been archived by the owner on Feb 22, 2020. It is now read-only.

Commit

Permalink
feat(grpc): add proxy argument to cli
Browse files Browse the repository at this point in the history
  • Loading branch information
hanhxiao committed Oct 12, 2019
1 parent e64bc7a commit 7265f76
Show file tree
Hide file tree
Showing 4 changed files with 12 additions and 3 deletions.
4 changes: 4 additions & 0 deletions gnes/cli/parser.py
Expand Up @@ -308,6 +308,10 @@ def _set_grpc_parser(parser=None):
help='host port of the grpc service') help='host port of the grpc service')
parser.add_argument('--max_message_size', type=int, default=-1, parser.add_argument('--max_message_size', type=int, default=-1,
help='maximum send and receive size for grpc server in bytes, -1 means unlimited') help='maximum send and receive size for grpc server in bytes, -1 means unlimited')
parser.add_argument('--proxy', action=ActionNoYes, default=False,
help='respect the http_proxy and https_proxy environment variables. '
'otherwise, it will unset these proxy variables before start. '
'gRPC seems perfer --no_proxy')
return parser return parser




Expand Down
4 changes: 4 additions & 0 deletions gnes/client/base.py
Expand Up @@ -13,6 +13,7 @@
# See the License for the specific language governing permissions and # See the License for the specific language governing permissions and
# limitations under the License. # limitations under the License.


import os
from typing import Tuple, List, Union from typing import Tuple, List, Union


import grpc import grpc
Expand Down Expand Up @@ -120,6 +121,9 @@ class GrpcClient:


def __init__(self, args): def __init__(self, args):
self.args = args self.args = args
if not args.proxy:
os.unsetenv('http_proxy')
os.unsetenv('https_proxy')
self.logger = set_logger(self.__class__.__name__, self.args.verbose) self.logger = set_logger(self.__class__.__name__, self.args.verbose)
self.logger.info('setting up grpc insecure channel...') self.logger.info('setting up grpc insecure channel...')
# A gRPC channel provides a connection to a remote gRPC server. # A gRPC channel provides a connection to a remote gRPC server.
Expand Down
3 changes: 0 additions & 3 deletions gnes/flow/__init__.py
@@ -1,5 +1,4 @@
import copy import copy
import os
from collections import OrderedDict, defaultdict from collections import OrderedDict, defaultdict
from contextlib import ExitStack from contextlib import ExitStack
from functools import wraps from functools import wraps
Expand Down Expand Up @@ -226,8 +225,6 @@ def query(self, bytes_gen: Iterator[bytes] = None, **kwargs):


@_build_level(BuildLevel.RUNTIME) @_build_level(BuildLevel.RUNTIME)
def _call_client(self, bytes_gen: Iterator[bytes] = None, **kwargs): def _call_client(self, bytes_gen: Iterator[bytes] = None, **kwargs):
os.unsetenv('http_proxy')
os.unsetenv('https_proxy')
args, p_args = self._get_parsed_args(self, set_client_cli_parser, kwargs) args, p_args = self._get_parsed_args(self, set_client_cli_parser, kwargs)
p_args.grpc_port = self._service_nodes[self._frontend]['parsed_args'].grpc_port p_args.grpc_port = self._service_nodes[self._frontend]['parsed_args'].grpc_port
p_args.grpc_host = self._service_nodes[self._frontend]['parsed_args'].grpc_host p_args.grpc_host = self._service_nodes[self._frontend]['parsed_args'].grpc_host
Expand Down
4 changes: 4 additions & 0 deletions gnes/service/frontend.py
Expand Up @@ -14,6 +14,7 @@
# limitations under the License. # limitations under the License.




import os
import threading import threading
from concurrent.futures import ThreadPoolExecutor from concurrent.futures import ThreadPoolExecutor


Expand All @@ -28,6 +29,9 @@
class FrontendService: class FrontendService:


def __init__(self, args): def __init__(self, args):
if not args.proxy:
os.unsetenv('http_proxy')
os.unsetenv('https_proxy')
self.logger = set_logger(self.__class__.__name__, args.verbose) self.logger = set_logger(self.__class__.__name__, args.verbose)
self.server = grpc.server( self.server = grpc.server(
ThreadPoolExecutor(max_workers=args.max_concurrency), ThreadPoolExecutor(max_workers=args.max_concurrency),
Expand Down

0 comments on commit 7265f76

Please sign in to comment.