istio.io/istio@v0.0.0-20240520182934-d79c90f27776/samples/helloworld/src/app.py (about)

     1  #!/usr/bin/python
     2  #
     3  # Copyright Istio Authors
     4  #
     5  #   Licensed under the Apache License, Version 2.0 (the "License");
     6  #   you may not use this file except in compliance with the License.
     7  #   You may obtain a copy of the License at
     8  #
     9  #       http://www.apache.org/licenses/LICENSE-2.0
    10  #
    11  #   Unless required by applicable law or agreed to in writing, software
    12  #   distributed under the License is distributed on an "AS IS" BASIS,
    13  #   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    14  #   See the License for the specific language governing permissions and
    15  #   limitations under the License.
    16  
    17  import os
    18  import math
    19  from flask import Flask, request
    20  app = Flask(__name__)
    21  
    22  
    23  @app.route('/hello')
    24  def hello():
    25      version = os.environ.get('SERVICE_VERSION')
    26  
    27      # do some cpu intensive computation
    28      x = 0.0001
    29      for i in range(0, 1000000):
    30          x = x + math.sqrt(x)
    31  
    32      return 'Hello version: %s, instance: %s\n' % (version, os.environ.get('HOSTNAME'))
    33  
    34  
    35  @app.route('/health')
    36  def health():
    37      return 'Helloworld is healthy', 200
    38  
    39  
    40  if __name__ == "__main__":
    41      app.run(host='::', threaded=True)