fastcgi_main.py
author Tero Marttila <terom@fixme.fi>
Mon, 16 Feb 2009 19:08:17 +0200
changeset 78 a46d2fc07951
parent 68 d60e732f2109
permissions -rw-r--r--
add test for tree_parse filesystem stuff
67
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     1
#!/usr/bin/python2.5
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     2
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
"""
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
    WSGI FastCGI support using flup (grr, threads).
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     5
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
    Currently, this uses flup.server.fcgi, but it attempts to batten down the hatches against the evil that is
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     7
    *threads* :)
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
"""
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
import flup.server.fcgi
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
def run (app, bind=None) :
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
    """
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        Run as a non-threaded single-process non-multiplexed FastCGI server
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
    """
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
    # create WSGIServer
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
    server = flup.server.fcgi.WSGIServer(app, 
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
        # try to supress threading
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
        multithreaded=False, 
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
        multiprocess=False, 
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
        multiplexed=False,
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
        
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
        # specify the bind() address
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
        bindAddress=bind,
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
        # leave as defaults for now
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    28
        umask=None,
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    29
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    30
        # XXX: non-debug mode?
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    31
        debug=True,
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    32
    )
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    33
    
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    34
    # run... threads :(
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    35
    server.run()
4be5aebe0472 FastCGI support using flup (ugh, threads)
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    36