How can I run my flask app in a separate thread? I am able to run my flask app in main, but
I need to launch the flask app from a thread, that thread should be running while in main thread I initiate an event for the thread engine to start.
so this works fine
@app.route("/voice", methods=['GET', 'POST']) def voice(): ......... return str(resp) @app.route("/mainFlow", methods=['GET', 'POST']) def mainFlow(): """Respond """ ....... return str(resp) if __name__ == "__main__": app.run(debug=True) but I need something like this
def myIVR(): print("-----------------Thrd1-myIVR --------------------") app = Flask(__name__) app.run(debug=True) @app.route("/voice", methods=['GET', 'POST']) def voice(): ........ return str(resp) @app.route("/mainFlow", methods=['GET', 'POST']) def mainFlow(): """Respond to """ resp = VoiceResponse() def myTest(): print("E2Etest") thrd1 = threading.Thread(target=myIVR, args=[]) thrd1.start() print("trigger event") #xyz() ################################################################ def main(): myTest() if __name__ == '__main__': main() I get this error
File "C:\......\AppData\Local\Programs\Python\Python37-32\lib\signal.py", line 47, in signal handler = _signal.signal(_enum_to_int(signalnum), _enum_to_int(handler)) ValueError: signal only works in main thread
use_reloader=Falsepart, which avoids much sadness.