#!./uwsgi import uwsgi from bottle import route, default_app, request, response, redirect @route('/') def chat(): return """ """ @route('/sender') def sender(): return """

""" @route('/recv') def recv(): response.header['Transfer-Encoding'] = 'chunked' # this will flush headers yield "" running = True while running: # this will put the core in pause (for max 10 seconds) and remove it from the sched queue, so the /send can write to its socket if not uwsgi.green_pause(10): running = False # this will maintain the connection opened if no data arrives yield "" @route('/send') def send(): # this will write to all the core in PAUSED state uwsgi.green_write_all(request.GET['message'] + "
") # this will unpause all the paused cores, so they will be re-inserted in the sched queue uwsgi.green_unpause_all() redirect('/sender') application = default_app()