Python – Cómo ejecutar múltiples aplicaciones de matraz desde la misma máquina cliente

Tengo un script de aplicación matraz como se indica a continuación:

from flask import Flask app = Flask(__name__) @app.route("/") def main(job_id): return "Welcome!. This is Flask Test Part 1" if __name__ == "__main__": job_id = 1234 app.run(host= '0.0.0.0') 

Tengo otro script de aplicación de matraz como abajo:

 from flask import Flask app = Flask(__name__) @app.route("/") def main(ID): return "Welcome!. This is Flask Test Part 2" if __name__ == "__main__": ID = 5678 app.run(host= '0.0.0.0') 

La única diferencia entre ambos scripts es el nombre del argumento y su valor. Ahora mi pregunta es asumir que estoy ejecutando el primer script. Así obtendré algo como

 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 

Cuando ejecuto http://127.0.0.1:5000/1234 en mi navegador, puedo ver

“¡Bienvenido! Esta es la prueba 1 de Flask”

Ahora con este servidor activo, estoy ejecutando el segundo script. Así que de nuevo me sale

 * Running on http://0.0.0.0:5000/ (Press CTRL+C to quit) 

Pero cuando ejecuto http://127.0.0.1:5000/5678 en mi navegador, puedo ver

“¡Bienvenido! Esta es la prueba 1 de Flask”

en lugar de

“¡Bienvenido! Esto es Flask Test Part 2”

No entiendo donde estoy cometiendo error. Cualquier entrada o alteración será útil.

El servidor de desarrollo de Flask escucha por defecto en el puerto 5000 . Por lo tanto, cuando ejecute una aplicación Flask sin número de puerto, se ejecutará en 5000 .

Puede ejecutar el número de la aplicación Flask en la misma máquina pero con un número de puerto diferente. Digamos que los nombres de sus scripts son script1.py y script2.py :

 $ export FLASK_APP=script1.py $ flask run --host 0.0.0.0 --port 5000 

Abre una nueva terminal

 $ export FLASK_APP=script2.py $ flask run --host 0.0.0.0 --port 5001