robin2015
11/13/2019 - 9:14 AM

tornado demo

# coding=utf-8

import sys
import os


if __name__ == '__main__':
    sys.path.insert(0, os.path.dirname(
        os.path.dirname(os.path.realpath(__file__))))
    sys.path.insert(0, os.path.abspath('./dzh_pb2/'))
from ycyj_kline import biz_identify
import tornado.ioloop
from tornado.web import RequestHandler
from ycyj_kline.app_kline_handler import HelloHandler, KlineHandler, AppKlineHandler, KlineFromDZHHandler, FenshiHandler, \
    GetTokenIdentify, UpdateTokenIdentify, YouZiQingXu, AppYouZiQingXu, CalculateQingXu, CalculateQingXuOne, \
    CalculateGPCMaxIncomeValue, GetGPCMaxIncomeValue, HistoryMinuteHandlerFromTDX
from ycyj_kline.tools.log_ext import init_logger

PORT = 13090


def main():
    init_logger("ycyj_kline_app")
    biz_identify.thread_token_auth_start()  # 开启 用户 tokenauth 验证 更新线程

    application = tornado.web.Application([
        # 这里配置多个版本,之前的版本不删除,在类后面加数字标记版本号
        (r"/", HelloHandler),
        (r"/api/kline", KlineHandler),
        (r"/api/klineForServe", KlineHandler),  # 跳过验证
        (r"/api/klineAPP", AppKlineHandler),
        (r"/api/klinefromdzh", KlineFromDZHHandler),  # 恢复数据 用

        (r"/api/fenshi", FenshiHandler),
        (r"/api/fenshiForServe", FenshiHandler),  # 跳过验证
        (r"/quote/history_minute", HistoryMinuteHandlerFromTDX),  # 历史分时

        (r"/api/updateTokenIdentify", UpdateTokenIdentify),
        (r"/api/getTokenIdentify", GetTokenIdentify),

        (r"/api/youziQingXu", YouZiQingXu),
        (r"/api/AppYouziQingXu", AppYouZiQingXu),

        (r"/api/cacheQingXu", CalculateQingXu),
        (r"/api/cacheQingXuOne", CalculateQingXuOne),

        (r"/api/CalculateGPCMaxIncomeValue", CalculateGPCMaxIncomeValue),
        (r"/api/GetGPCMaxIncomeValue", GetGPCMaxIncomeValue)

    ])
    # application.settings['websocket_ping_interval'] = 15  # 服务端定时向客户端发送ping, 客户端返回pong
    # application.settings['websocket_ping_timeout'] = 30  # 客户端ping等待时间,超过后自动断开,服务端ping就可以
    print("port={}".format(PORT))
    application.listen(PORT, xheaders=True)
    tornado.ioloop.IOLoop.current().start()
    input('wait:q')


if __name__ == '__main__':
    main()