涉及这个问题,是计划用flask实现一个简单的web服务器,以后可以运行在云服务器。通过web控制量化交易系统,进行功能配置,结果展示等。
初步设想,是flask单独运行,量化交易系统也是单独运行。
所以,flask启动其他工程(量化交易系统)的py程序,是预研的第一件事。
通过欢迎来到 Flask 的世界的指导,相信很容易可以跑通第一个hello world:
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
return 'Hello, World!'
通过访问http://localhost:5000/,可以出现神奇的‘hello world’打印。
现在,如果需要利用flask启动量化交易系统,需要做两个特殊设置:
1.用量化交易系统的python程序
2.启动量化交易系统工程下的py程序以后,第一步,要设置量化交易系统py的环境变量
flask设置:
import os
from flask import Flask
app = Flask(__name__)
@app.route('/')
def hello_world():
print('Hello, World')
os.system('E:\\workspace\\stock\\hdf5test\\venv\\Scripts\\python E:\\workspace\\stock\\hdf5test\\src\\datamgr\\dataservice_mysql.py')
return 'Hello, World!'
量化交易系统工程下的dataservice_mysql.py程序设置:
#coding=utf-8
import sys
#print(os.getcwd())
sys.path.append('E:\\workspace\\stock\\hdf5test')
其中,E:\\workspace\\stock\\hdf5test 就是量化交易系统工程的工程目录。
注:在windows下,
os.system启动的外部程序,会阻塞调用者;
os.popen启动的外部程序,不会阻塞调用者;