parquet_flask/__main__.py (33 lines of code) (raw):

# Licensed to the Apache Software Foundation (ASF) under one or more # contributor license agreements. See the NOTICE file distributed with # this work for additional information regarding copyright ownership. # The ASF licenses this file to You under the Apache License, Version 2.0 # (the "License"); you may not use this file except in compliance with # the License. You may obtain a copy of the License at # # http://www.apache.org/licenses/LICENSE-2.0 # # Unless required by applicable law or agreed to in writing, software # distributed under the License is distributed on an "AS IS" BASIS, # WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. # See the License for the specific language governing permissions and # limitations under the License. import os import sys import findspark findspark.init() def flask_me(): import logging log_format = '%(asctime)s [%(levelname)s] [%(name)s::%(lineno)d] %(message)s' log_formatter = logging.Formatter(log_format) log_level = getattr(logging, os.getenv('log_level', 'INFO').upper(), None) if not isinstance(log_level, int): print(f'invalid log_level:{log_level}. setting to INFO') log_level = logging.INFO file_handler = logging.FileHandler('/tmp/parquet_flask.log', mode='a') file_handler.setLevel(log_level) file_handler.setFormatter(log_formatter) stream_handler = logging.StreamHandler(stream=sys.stdout) stream_handler.setLevel(level=log_level) stream_handler.setFormatter(log_formatter) logging.basicConfig( level=logging.ERROR, format=log_format, handlers=[stream_handler] ) logger = logging.getLogger('parquet_flask') logger.addHandler(stream_handler) logger.setLevel(log_level) from gevent.pywsgi import WSGIServer from parquet_flask import get_app # get_app().run(host='0.0.0.0', port=9788, threaded=True) http_server = WSGIServer(('', 9801), get_app()) http_server.serve_forever() return if __name__ == '__main__': flask_me()