def main(): global engine engine = QEEngine() app = make_app() setup_logging() signal.signal(signal.SIGINT, signal_handler) signal.signal(signal.SIGTERM, signal_term_handler) server = tornado.httpserver.HTTPServer(app) server.bind(AppConfig.get_config().get('web', 'port')) server.start(0) # forks one process per cpu tornado.ioloop.PeriodicCallback(try_exit, 100).start() tornado.ioloop.IOLoop.current().start() engine.stop()
def once_global_task(worker): tfn = MyThread('job_once_global', job_once_global, worker) tfn.start() def main(): global ctx config = AppConfig.get_config() total = config.get('quota', 'total') kline = config.get('quota', 'kline') tiker = config.get('quota', 'ticker') quote = config.get('quota', 'quote') order_book = config.get('quota', 'order_book') rt_data = config.get('quota', 'rt_data') broker = config.get('quota', 'broker') ctx = ft.OpenQuoteContext(config.get('ftserver', 'host'), int(config.get('ftserver', 'port'))) ctx.start() lf = LF(ctx) once_global_task(lf) if __name__ == "__main__": signal.signal(signal.SIGINT, signal_int_handler) #signal.signal(signal.SIGKILL, signal_term_handler) signal.signal(signal.SIGTERM, signal_term_handler) setup_logging() main() sched.start()
# -*- coding: UTF-8 -*- import logging import signal import time from apscheduler.schedulers.blocking import BlockingScheduler from hsstock.utils.app_logging import setup_logging import hsstock.utils.decorator as tick from hsstock.utils.date_util import DateUtil from hsstock.utils.threadutil import MyThread from hsstock.utils.app_config import AppConfig import hsstock.futuquant as ft from hsstock.futuquant.common.constant import * from hsstock.utils.app_config import AppConfig from hsstock.service.quote_service import LF from hsstock.service.quote_service import HF from hsstock.common.freqlimit import FreqLimit from hsstock.common.constant import * from hsstock.service.quote_service import Subscribe from hsstock.service.trade_service import * from hsstock.utils.lang_util import * sched = BlockingScheduler() is_closing = False ctx = None def job_once_global_m5(worker): ''' 线程工作:低频数据接口 :return: ''' global is_closing
# -*- coding: UTF-8 -*- import logging import sqlalchemy as sa import pandas as pd from hsstock.service.mysql_service import MysqlService from hsstock.utils.app_logging import setup_logging def main(): """ 应用分表 :return: """ storeservice = MysqlService() storeservice2 = MysqlService(2) # # # # # The total number of history tables is 266, but last table is 230 # kline_1m_tables_number = 266+1 # schemaArr = [ # { # "table": "ft_1M_{0}", # "dtype": { # "id": sa.types.BIGINT, # "code": sa.types.NVARCHAR(20), # "time_key": sa.types.DATETIME, # "open": sa.types.FLOAT, # "close": sa.types.FLOAT, # "high": sa.types.FLOAT, # "low": sa.types.FLOAT,
def __init__(self): self.tushare_version = ts.__version__ setup_logging() self.storeservice = MysqlService() print('tushare_versin', self.tushare_version)