Skip to content

Instantly share code, notes, and snippets.

@NorthIsUp
Created July 16, 2012 15:56
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save NorthIsUp/3123487 to your computer and use it in GitHub Desktop.
Save NorthIsUp/3123487 to your computer and use it in GitHub Desktop.
fapwws test
#!/usr/bin/env python
from gevent import monkey
monkey.patch_all()
from gevent.queue import Queue
from gevent import sleep
from gevent import spawn
import fapws._evwsgi as evwsgi
from fapws import base
class Generator(object):
def __init__(self):
super(Generator, self).__init__()
self.gens = []
spawn(self.forever)
def forever(self):
while True:
for gen, pipe in self.gens:
pipe.put(gen.next())
sleep(0)
def add(self, i=0):
def _serial(i=0):
while True:
yield str(i)
i += 1
sleep(i)
pipe = Queue()
self.gens.append((_serial(), pipe))
return pipe
G = Generator()
def start():
evwsgi.start('0.0.0.0', '8080')
evwsgi.set_base_module(base)
def serial(environ, start_response):
start_response('200 OK', [('Content-Type', 'application/json')])
gen = G.add()
return gen
evwsgi.wsgi_cb(('/serial', serial))
evwsgi.set_debug(0)
evwsgi.run()
if __name__ == '__main__':
start()
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment