from flask import Flask, current_app app = Flask(__name__) port = 8000 import logging from time import sleep from random import randint @app.route("/") def home_route(): return "Use /checkout endpoint" @app.route("/healthcheck") def healthcheck_route(): return "Ok" @app.route("/checkout") def checkout_route(): checkout() return "Checkout successfull" def checkout(): app.logger.info("Processing checkout...") get_cart_items() get_items_price() process_payment() app.logger.info("Checkout successfull.") def get_cart_items(): app.logger.info("Getting cart items...") delay(10, 20) app.logger.info("Got cart items.") def get_items_price(): app.logger.info("Getting items price...") delay(20, 30) app.logger.info("Got items price.") def process_payment(): app.logger.info("Processing payment...") delay(40, 60) apply_coupon() app.logger.info("Payment successfull.") def apply_coupon(): app.logger.info("Applying coupon...") delay(10, 20) app.logger.info("No coupon specified.") def delay(min, max): return sleep(randint(min, max)/1000) if __name__ == "__main__": app.logger.setLevel(logging.INFO) app.logger.info("Starting webserver") app.run(host = "0.0.0.0", port = port)