diff --git a/template/python3-http/index.py b/template/python3-http/index.py index 5d2f33b..a3aa000 100644 --- a/template/python3-http/index.py +++ b/template/python3-http/index.py @@ -2,11 +2,20 @@ from flask import Flask, request, jsonify from waitress import serve import os +import sys + +import signal from function import handler app = Flask(__name__) +def SignalHandler(SignalNumber, Frame): + timeout = os.getenv("write_timeout") + + sys.stderr.write('Function got SIGTERM, draining for up to: {}\n'.format(timeout)) + sys.stderr.flush() + class Event: def __init__(self): self.body = request.get_data() @@ -66,4 +75,7 @@ def call_handler(path): return resp if __name__ == '__main__': + + signal.signal(signal.SIGTERM, SignalHandler) + serve(app, host='0.0.0.0', port=5000)