読者です 読者をやめる 読者になる 読者になる

mod_wsgiやuWSGIで使われる、デフォルトのWSGI callback名を調べてみた

Python WSGI

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名を変更するには、

を使うのが良さそうでした。

 

まとめ

特に指定のない限り、WSGI callback名はapplicationとしておけば良さそうです。

*1:公式ドキュメントには明記されていませんでしたが、Snippetsなどで使われていたため