当前环境
Ubuntu:18.04
Python: 3.7.3
Tornado:6.0.2
根据CPU核数启动多进程
from tornado import ioloop
from tornado.web import Application
from tornado.httpserver import HTTPServer
from router import routers
from config import DEBUG, COOKIE_SECRET, HOST, PORT
app = Application(handlers=routers, debug=False, cookie_secret=COOKIE_SECRET)
server = HTTPServer(app)
server.bind(args.port or PORT, HOST)
server.start(num_processes=0) # 根据CPU核数fork工作进程个数
ioloop.IOLoop.instance().start()
异常信息
原因
tornado server实例监听端口的方法有两种,bind和listen。
在Linux系统bind方法不起作用,需要使用listen;在macOS系统listen方法不起作用,需要使用bind。
上述监听端口代码需要改成:
server.listen(args.port or PORT, HOST