ossfs 禁用cache配置说明

ossfs 基于oss sdk 实现了与oss fs类似的能了,但是默认是有cache 的,尤其我们的long running 任务可能会影响,造成获取的数据是不是最新的,解决方法就是直接禁用cache

参考处理

# 通过临时调整cache有效期解决
from ossfs import OSSFileSystem
fs = ossfs.OSSFileSystem(listings_expiry_time=10,cache_type="none",key=self.oss_config.get("access_key"), secret=self.oss_config.get(
    "secret_key"), endpoint=self.oss_config.get("endpoint"))

说明

可以解决实际进行cache 的处理,同时ossfs 也支持对于特定方法进行cache 控制,如下

super_kwargs = {
        k: kwargs.pop(k)
        for k in ["use_listings_cache", "listings_expiry_time", "max_paths"]
        if k in kwargs
    }  # passed to fsspec superclass
    super().__init__(**super_kwargs)

注意use_listings_cache 参数是没用的,直接配置为False 为有异常,最好的方法是配置listings_expiry_time 参数为一个比较小的就可以了

参考资料

https://github.com/fsspec/ossfs
https://github.com/fsspec/s3fs

posted on 2024-11-03 08:00  荣锋亮  阅读(49)  评论(0)    收藏  举报

导航