1- # set this to 'threading', 'eventlet', or 'gevent'
2- async_mode = 'threading'
3-
4- if async_mode == 'eventlet' :
5- import eventlet
6- eventlet .monkey_patch ()
7- elif async_mode == 'gevent' :
8- from gevent import monkey
9- monkey .patch_all ()
1+ # set async_mode to 'threading', 'eventlet' or 'gevent' to force a mode
2+ # else, the best mode is selected automatically from what's installed
3+ async_mode = None
104
115import time
12- from threading import Thread
136from flask import Flask , render_template
147import socketio
158
@@ -24,7 +17,7 @@ def background_thread():
2417 """Example of how to send server generated events to clients."""
2518 count = 0
2619 while True :
27- time .sleep (10 )
20+ sio .sleep (10 )
2821 count += 1
2922 sio .emit ('my response' , {'data' : 'Server generated event' },
3023 namespace = '/test' )
@@ -34,8 +27,7 @@ def background_thread():
3427def index ():
3528 global thread
3629 if thread is None :
37- thread = Thread (target = background_thread )
38- thread .start ()
30+ thread = sio .start_background_task (background_thread )
3931 return render_template ('index.html' )
4032
4133
@@ -95,14 +87,14 @@ def test_disconnect(sid):
9587
9688
9789if __name__ == '__main__' :
98- if async_mode == 'threading' :
90+ if sio . async_mode == 'threading' :
9991 # deploy with Werkzeug
10092 app .run (threaded = True )
101- elif async_mode == 'eventlet' :
93+ elif sio . async_mode == 'eventlet' :
10294 # deploy with eventlet
10395 import eventlet
10496 eventlet .wsgi .server (eventlet .listen (('' , 5000 )), app )
105- elif async_mode == 'gevent' :
97+ elif sio . async_mode == 'gevent' :
10698 # deploy with gevent
10799 from gevent import pywsgi
108100 try :
@@ -116,4 +108,4 @@ def test_disconnect(sid):
116108 else :
117109 pywsgi .WSGIServer (('' , 5000 ), app ).serve_forever ()
118110 else :
119- print ('Unknown async_mode: ' + async_mode )
111+ print ('Unknown async_mode: ' + sio . async_mode )
0 commit comments