Python 在IIS 7上以螺纹方式运行烧瓶

Python 在IIS 7上以螺纹方式运行烧瓶,python,iis,flask,Python,Iis,Flask,我正在运行一个flask应用程序,使用芹菜卸载IIS6.5服务器上的长时间运行的进程,并使用python 2.7 Python2.7、flask和IIS7服务器的选择是由公司强加的,不能更改 flask应用程序在IIS服务器上工作(因此服务器设置应该正确),但以下情况除外 我正在努力寻找使flask在服务器上顺利工作的良好实现。 我在网站上搜索了类似的问题,但迄今为止没有一个有用。 当我在电脑上运行flask应用程序时,仅当我使用选项A或选项B时,应用程序才会按预期运行 选项A: from f

我正在运行一个flask应用程序,使用芹菜卸载IIS6.5服务器上的长时间运行的进程,并使用python 2.7 Python2.7、flask和IIS7服务器的选择是由公司强加的,不能更改

flask应用程序在IIS服务器上工作(因此服务器设置应该正确),但以下情况除外

我正在努力寻找使flask在服务器上顺利工作的良好实现。 我在网站上搜索了类似的问题,但迄今为止没有一个有用。 当我在电脑上运行flask应用程序时,仅当我使用选项A或选项B时,应用程序才会按预期运行

选项A:

 from flask import Flask
 app = Flask(__name__)

 @app.route("/")
 def hello():
   return "Hello from FastCGI via IIS!"

 if __name__ == "__main__":
   app.run(threaded=True)  # <--- This works
选项C:

 from flask import Flask
 app = Flask(__name__)

 @app.route("/")
 def hello():
   return "Hello from FastCGI via IIS!"

 if __name__ == "__main__":
   app.run(threaded=True)  # <--- This works
但是,如果我仅使用默认参数运行flask应用程序,那么它将不起作用。Web服务器不会返回任务卸载到芹菜后应返回的视图

 from flask import Flask
 app = Flask(__name__)

 @app.route("/")
 def hello():
   return "Hello from FastCGI via IIS!"

 if __name__ == "__main__":
   app.run()  # <--- Default App
我的主要问题是如何使用选项A(最好是因为它对我来说涉及的更改较少)或选项B与IIS服务器协同工作? 在flask()初始化期间或通过配置设置,是否有方法告诉flask以threaded=True运行


提前感谢您的帮助。

这可能会有所帮助。。。。您好,谢谢您的回答,但我已经尝试了这个网址,但它在我的情况下没有帮助,你读过这篇文章吗?Flask通过WSGI协议工作,因此您需要您的web服务器根据此规范代理请求。您好,您的答案解决了我的问题。你能不能用一个答案(不是评论)来解释一下,这样我就可以把它标记为接受,然后把赏金给你?谢谢这可能会有帮助。。。。您好,谢谢您的回答,但我已经尝试了这个网址,但它在我的情况下没有帮助,你读过这篇文章吗?Flask通过WSGI协议工作,因此您需要您的web服务器根据此规范代理请求。您好,您的答案解决了我的问题。你能不能用一个答案(不是评论)来解释一下,这样我就可以把它标记为接受,然后把赏金给你?谢谢
 class AnalysisView(FlaskView):

    ### Index page ---------------
    def index(self):
      return render_template('analysis.intro.html')

    ### Calculation process ------
    def calculate(self, run_id):
      t_id = task_create_id(run_id)
      current_analysis = a_celery_function.apply_async(args=[x, y], task_id=t_id)
      # Redirect to another view --> Not working when OPTION C or on ISS server
      return redirect(url_for('AnalysisView:inprogress', run_id=run_id))

    ### Waiting page ---------------
    def inprogress(self, run_id=run_id):
      return render_template('analysis.inprogress.html')