Home | Back
ตัวอย่าง Code สำหรับรัน WSGI Web Application ด้วย Gevent แบบ Multicore
Friday, 12 December 2014
ผมได้ทดลองสร้างตัวอย่าง Code สำหรับรัน WSGI Web Application ด้วย Gevent ที่สามารถทำงานแบบ Multicore ได้ ดังนี้ครับ
File : run.py
from app import app
from multiprocessing import Process, cpu_count
from gevent import monkey; monkey.patch_all()
from gevent.wsgi import WSGIServer
from gevent.server import _tcp_listener
import sys
def serve(port):
listener = _tcp_listener(('', int(port)))
def serve_forever(listener):
WSGIServer(listener, app).serve_forever()
for i in range(cpu_count()):
Process(target=serve_forever, args=(listener,)).start()
serve_forever(listener)
if __name__ == "__main__":
serve(int(sys.argv[1]))