#7656·OpenBB

openbb_sec 表单 4 获取器的共享磁盘缓存在并发调用时损坏

作者: abhi85创建于 2026年9月4日更新于 2026年9月4日

`openbb_sec/utils/form4.py::download_data()` 使用一个共享的磁盘缓存文件(`sec_form4.db`/`sec_form4.db.gz`,总共一个文件,而不是按符号或调用进行索引),其生命周期在每次调用开始时解压缩该文件,并在每次调用结束时压缩并删除原始文件。在并发调用(例如从不同的线程/任务中同时获取多个符号的内幕交易数据)情况下,一个调用的生命周期结束 `close_db()`(对表进行排序,关闭 SQLite 连接,用 gzip 压缩文件,然后删除原始 `.db`)可以在另一个调用仍在对同一个文件进行读写时运行,从而导致文件损坏。一旦损坏,每个后续调用都会失败。

内容来源: OpenBB-finance/OpenBB