-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathflask_gevent.py
More file actions
63 lines (53 loc) · 1.35 KB
/
flask_gevent.py
File metadata and controls
63 lines (53 loc) · 1.35 KB
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
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
# -*- coding: utf-8 -*-
# import gevent
# from gevent.pywsgi import WSGIServer
# # from gevent import monkey
# # monkey.patch_all()
#
# from flask import Flask
# import time
#
# app = Flask(__name__)
#
#
# @app.route('/')
# def hello_world():
# time.sleep(10)
# return 'Hello World!'
#
#
# @app.route('/index')
# def beijing():
# return 'Beijing'
#
#
# if __name__ == '__main__':
# app.run(debug=True)
# # http_server = WSGIServer(('127.0.0.1', 5000), app)
# # http_server.serve_forever()
#
# 阻塞调用,即:调用 http://localhost:5000/index 再开一个浏览器调用 http://localhost:5000 时是阻塞的(会等待15秒)
from gevent import monkey
from gevent.pywsgi import WSGIServer
monkey.patch_all() # 加上这行代码就是非阻塞方式调用(异步调用),否则就是阻塞方式调用
from flask import Flask, render_template
from flask_script import Manager
import time
app = Flask(__name__)
manager = Manager(app=app)
@app.route('/')
def connect():
return "connected test"
@app.route('/index')
def index_test():
time.sleep(15)
return 'index'
@manager.command
def run_gevent():
server = WSGIServer(("0.0.0.0", 50005), app)
print("Server started with gevent")
server.serve_forever()
# if __name__ == "__main__":
# server = WSGIServer(("0.0.0.0", 50005), app)
# print("Server started")
# server.serve_forever()