我开始勾勒出用Python编写的量化金融信息服务网站的结构(3.x我希望)并得出结论 - 纠正我,如果我错了 - 我要去必须同时使用eventlet网络库和多处理库.
该系统的一部分基本上是一个在后台运行的cron作业,在市场关闭后检查股票市场和其他财务数据,进行机器学习和定量计算,然后将预测放在一个简单的数据库中,甚至可能是一个平坦的逗号分隔文件.(因此,参数通过文件在系统的各部分之间传递.)
我知道eventlet可以用于非阻塞I/O,这样美丽的汤或scrapy可以同时从多个站点(某种程度上)抓取信息,多处理库可以使机器学习/量化算法进行计算将所有股票数据并行作为单独的流程.
要查看预测,用户将登录使用Flask构建的系统的其他部分,该部分将访问数据库并显示预测.
我假设所有这些库和混合线程/多处理例程彼此相处?我将使用pythonanywhere.com作为主机,它们似乎有相当多的"电池包括在内".当然,当测试完成后,我可能不得不升级"工人"的数量来为最终部署的站点供电.
混合线程和多处理中的任何陷阱都会变得复杂吗?
python python-multithreading flask pythonanywhere python-multiprocessing