1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42
|
# uwsgi -s :3031 -M -p 4 --plugin gevent --loop gevent --async 1000 --enable-threads -w tests.testgevent
from threading import Thread
import gevent
import uwsgi
import time
def microtask(wid):
print("i am a gevent task")
gevent.sleep(10)
print("10 seconds elapsed in worker id %d" % wid)
def athread():
while True:
time.sleep(1)
print("i am the thread 1")
def athread2():
while True:
time.sleep(1)
print("i am the thread 2")
t1 = Thread(target=athread)
t1.daemon = True
t1.start()
t2 = Thread(target=athread2)
t2.daemon = True
t2.start()
def application(environ, start_response):
gevent.sleep()
start_response('200 OK', [('Content-Type', 'text/html')])
yield "sleeping for 3 seconds...<br/>"
gevent.sleep(3)
yield "done<br/>"
gevent.spawn(microtask, uwsgi.worker_id())
yield "microtask started<br/>"
|