对于如何处理实时股票交易,我想了很多办法,也和Bob、Pipa交流过,似乎也没啥好办法,我只能采取以下策略了:
策略一、
在交易时间,本地机器不得不成为一个生产环境,不断地定时发送req到指定网址。GAE/Django收到Req之后就去处理实时股票交易了。
将类似如下代码打包成exe文件,储存到网络上的某个地方(例如开心网的网络硬盘,共享之),一旦自己在交易时间不能让自己的电脑运行这个脚本,就只能委托好友去网络硬盘或邮箱去运行这个脚本了。由于负载均衡的缘故,GAE是不怕同时有上千条req的。
如果无耻一点地话,就是做成一个木马在互联网上散播了。这样就会有无数台机器帮我发送req。当然,我是绝对不会这么做的。
没有加上多线程的定时发送脚本到指定url的参考代码如下:
import urllib
import time
def send_handle(url =‘http://localhost:8080/xiaonei/handle’):
while 1:
sock = urllib.urlopen(url)
time.sleep(10)
if name == "main":
send_handle()
策略二:
每个用户每访问一个页面,都默认发送一个req,在一个invisible的ifrmae里嵌入就好。这个req带有用户的ID,系统会优先处理这个用户的股票,如果没有,再去处理其他的。
本来想在Iframe里写js定时刷新的,这样理论上就不需要我自己写脚本定时刷新了,但是。。我试了一下,没成功,哪个能教我?呵呵
策略三:
每次不要太贪心,每次不要处理太多的数据,GAE对响应时间会做限制。
每次处理的股票尽量不一样,总是处理同一支股票有啥意思,后面的得不到处理。所以就要循环排队处理,这次轮询但没有成交的就排到最后面去。
策略四:
通过第三方网站定时发送req,可惜没有找到合适的,我需要至少一分钟发送一次req,如果十秒钟发送一次那就最好。
通过email、calendar之类的触发,我就不想了。
哪位大侠有其他好的策略,回帖告诉我吧,谢谢!
处理实时股票交易的策略
处理实时股票交易的策略
...