What's the best way to deploy a Flask app using Jython on Tomcat?


Question

I successfully deployed the demo web app that comes with Jython. It uses modjy which is a Jython WSGI gateway. I'm now trying to hook modjy to my Flask app. I get a handler not defined error.

The full traceback is here: http://pastie.org/2810227

1
9
11/4/2011 2:42:54 PM

Accepted Answer

There are two different ways you can specify an application to modjy:

  1. Using the app_import_name mechanism
  2. Using a combination of app_directory/app_filename/app_callable_name

For the first method simply create a file that imports your Flask app object.

from my_flask_app import app as application

Then in your web.xml set the proper init-param:

<init-param>
  <param-name>app_import_name</param-name>
  <param-value>wsgi.application</param-value>
</init-param>

For the second method you can use the modjy convention of defining application.py in the servlet context root with a single handler method that invokes the Flask WSGI app:

def handler(environ, start_response):
    return application.wsgi_app(environ, start_response)
8
11/5/2011 5:37:44 PM

Licensed under: CC-BY-SA with attribution
Not affiliated with: Stack Overflow
Icon