bin/pngtile.fcgi
author Tero Marttila <terom@fixme.fi>
Wed, 27 Jan 2010 01:10:58 +0200
changeset 124 a5e66a48b959
parent 42 a5bca7b0cd8a
child 129 305f6d590440
permissions -rwxr-xr-x
fix pngtile.fcgi
42
a5bca7b0cd8a get DATA_ROOT from os.environ, fix use of prefix for dir view
Tero Marttila <terom@fixme.fi>
parents: 41
diff changeset
     1
#!/usr/bin/env python2.5
a5bca7b0cd8a get DATA_ROOT from os.environ, fix use of prefix for dir view
Tero Marttila <terom@fixme.fi>
parents: 41
diff changeset
     2
41
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     3
import flup.server.fcgi
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     4
124
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
     5
import memcache
41
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     6
124
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
     7
def run_fastcgi (app, bind=None) :
41
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     8
    # create WSGIServer
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
     9
    server = flup.server.fcgi.WSGIServer(app, 
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    10
        # try to supress threading
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    11
        multithreaded=False, 
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    12
        multiprocess=False, 
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    13
        multiplexed=False,
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    14
        
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    15
        # specify the bind() address
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    16
        bindAddress=bind,
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    17
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    18
        # leave as defaults for now
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    19
        umask=None,
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    20
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    21
        # XXX: non-debug mode?
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    22
        debug=True,
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    23
    )
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    24
    
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    25
    # run... threads :(
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    26
    server.run()
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    27
124
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    28
def main (bind=None) :
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    29
    """
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    30
        Run as a non-threaded single-process non-multiplexed FastCGI server
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    31
    """
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    32
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    33
    # open cache
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    34
    cache = memcache.Client(['localhost:11211'])
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    35
    
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    36
    # build app
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    37
    app = pngtile.wsgi.WSGIApplication(cache)
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    38
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    39
    # server
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    40
    run_fastcgi(app, bind)
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    41
41
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    42
if __name__ == '__main__' :
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    43
    import pngtile.wsgi
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    44
124
a5e66a48b959 fix pngtile.fcgi
Tero Marttila <terom@fixme.fi>
parents: 42
diff changeset
    45
    main()
41
941090e3d094 FastCGI/Flup adapter
Tero Marttila <terom@fixme.fi>
parents:
diff changeset
    46