我用python+ctp写了多个策略,到了开盘前会定时启动,不同的账号进程是独立的,于是tqsdk就有这个问题,因为计划任务时间是一样的,所以多个期货账号的进程是同时启动的,有概率会同时请求同一个合约的历史行情,如果多个进程同时下载行情写缓存,有小概率会异常。
tqsdk会缓存行情到用户目录下, 我看了一下tqsdk的代码,貌似没有考虑到多进程下,同时下载历史行情的时候写入会冲突的问题,实际确实遇到了异常,有时候两个进程会同时访问同一个temp文件,然后进行写入。是否应该把缓存目录设计为参数?避免不同进程读写缓存冲突的情况。