WSGIアプリの書き方について調べている時、
def application(environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return [b"Hello, world."]
や、
class MyWSGIApplication(object): def __call__(self, environ, start_response): start_response('200 OK', [('Content-Type', 'text/plain')]) return [b"Hello, world."] application = MyWSGIApplication()
と、application
というcallback名を使っている例が多かったです。
WSGI callback名の決まりがあるのかを調べたところ、特に決まりはなさそうでした。
python - How do I actually use WSGI? - Stack Overflow
そんな中、WSGIアプリをmod_wsgiやuWSGIで動かす時に、デフォルトのWSGI callback名が気になったため、調べてみました。
mod_wsgi
application
です。
WSGICallableObject — mod_wsgi 4.5.8 documentation
callback名を変更するには、WSGICallableObject
に設定をすれば良さそうでした。
uWSGI
application
だと思います*1。
callback名を変更するには、
app
を使うmodule
を使う- uWSGI Transformations — uWSGI 2.0 documentation
<Pythonファイル名>:<WSGI callback名>
を使うのが良さそうでした。
まとめ
特に指定のない限り、WSGI callback名はapplication
としておけば良さそうです。
*1:公式ドキュメントには明記されていませんでしたが、Snippetsなどで使われていたため