作者热门文章
- c - 在位数组中找到第一个零
- linux - Unix 显示有关匹配两种模式之一的文件的信息
- 正则表达式替换多个文件
- linux - 隐藏来自 xtrace 的命令
我正在编写一个下载大文件(~150MB)并将数据解析为更有用的文本格式文件的程序。下载过程,尤其是解析过程很慢(总共约 20 分钟),所以我想缓存结果。
下载的结果是一堆文件,解析的结果是单个文件,所以我可以手动检查这些文件是否存在,如果存在,查看修改时间;但是,由于我已经在代码的其他地方使用带有 redis 后端的 dogpile 进行 Web 服务调用,我想知道是否可以将 dogpile 用于此目的?
所以我的问题是:是否可以使用 dogpile 根据文件的修改时间来缓存文件?
最佳答案
为什么你不想把程序分成几个部分:
下载者
解析器和保存器
有成果的 worker
您可以使用缓存变量来存储您需要的值,您将在文件更新时更新该值。
import os
import threading
_lock_services=threading.Lock()
tmp_file="/tmp/txt.json"
update_time_sec=3300
with _lock_services:
# if file was created more the 50min ago
# here you can check if file was updated and update your cache variable
if os.path.getctime(tmp_file) < (time.time() - update_time_sec):
os.system("%s >%s" %("echo '{}'",tmp_file))
with open(tmp_file,"r") as json_data:
cache_variable = json.load(json_data)
关于python - 使用 dogpile 根据修改时间缓存下载的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/26733316/
我想要一个 ( jsfiddle.net/cT9kg ) 的行为与 dogpile.com 上的行为完全相同. 更具体的 应该: 在获得焦点时在其中有一个预定义的文本 当用户的输入数据被删除并失去焦
我正在编写一个下载大文件(~150MB)并将数据解析为更有用的文本格式文件的程序。下载过程,尤其是解析过程很慢(总共约 20 分钟),所以我想缓存结果。 下载的结果是一堆文件,解析的结果是单个文件,所
使用 python 模块 Beaker 或 Dogpile 进行缓存,是否可以测试具有特定键值的区域是否已存在于缓存中? 最佳答案 假设您有一个使用烧杯缓存的方法: @cache_region('fo
我是一名优秀的程序员,十分优秀!