viper监控文件变化出现两次事件
问题描述
监控配置文件变化,如果内容发生了修改,需要及时加载. 使用viper监控文件变化发现了, 对文件修改一次,会出发两次事件.
示例代码
viper.OnConfigChange(func(e fsnotify.Event) {if e.Op & fsnotify.Write != 0 {fmt.Println("Config file changed:", e.Name)}
})
viper.WatchConfig()
推测原因
- 检查viper的源码是否存在bug?
未发现异常
- 两次变化viper读到的内容返回值是否不一样?
发现viper.AllKeys()返回值不一样, 一次为空, 一次正常.
- 换一个电脑试试?
发现了在公司办公电脑出现,家里电脑不会出现。
解决办法
//使用AllKeys进行过滤
viper.OnConfigChange(func(e fsnotify.Event) {if e.Op & fsnotify.Write != 0 && viper.AllKeys()>0{fmt.Println("Config file changed:", e.Name)}
})
viper.WatchConfig()
总结
公司的办公电脑安装了文件加密软件。我估摸着是它搞了个什么鬼.
佛說大乘無量壽莊嚴清淨平等覺經pdf
净土大经科注2014-doc
净土大经科注2014(mp3)
印光大师十念法(胡小林主讲第1集)
viper监控文件变化出现两次事件相关推荐
- Python监控文件变化:watchdog
Python监控文件变化有两种库:pyinotify和watchdog.pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.也就是说,watchdog跨平台. ...
- delphi 监控文件变化_监控Linux文件变化,防止系统被黑
运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...
- 神器推荐!一个能监控文件变化的Python神器—看门狗
假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作. 比如说应用到我们之前的音乐高潮提取器:若当前文件夹下增加了一个音乐文件,监控器就调用音乐高潮提取器, ...
- rust 使用hotwatch 监控文件变化
hotwatch是一个可以监控文件变化的crate,使用起来非常方便.参考:GitHub - francesca64/hotwatch: A Rust library for conveniently ...
- 服务器监控文件变化,如何使用nodejs监控文件变化并使用sftp上传到服务器
如何使用nodejs监控文件变化并使用sftp上传到服务器 发布时间:2021-07-01 12:06:56 来源:亿速云 阅读:99 作者:小新 这篇文章主要为大家展示了"如何使用node ...
- node 自动上传文件到服务器,利用nodejs监控文件变化并使用sftp上传到服务器
最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下 ...
- FileSystemWatcher 监控文件变化
本文测试了FileSystemWatcher 类监控文件变化. using System; using System.Security.Permissions; using System.IO;nam ...
- linux inotify-tools 监控文件变化
inotify-tools 是一个用C语言库,一个为Linux提供简单inotify接口的命令行程序.这些程序可以用于监视文件系统事件并执行相应操作.这些程序是用C语言来写的,除了需要Linux内核的 ...
- Shell 监控文件变化
作者:youxin 链接:https://www.cnblogs.com/youxin/p/13816303.html 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用 ...
最新文章
- CLion使用WSL的cmake报错解决: configure_file Problem configuring file Call Stack (most recent call first):
- MYSQL1130错误的解决方案
- JMeter3.0 post参数/BeanShell中文乱码问题
- How OPA addFrame is called
- Colemak布局的实现 Window+Linux+Android
- 八年开发程序员浅析SpringBoot 之 Shiro 与 Redis 多级缓存问题
- ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
- argmax函数_Python 的Numpy 函数到底是个啥?看这篇就足够了
- 改变button中文字的对齐方式
- TI单芯片毫米波雷达代码走读(十八)—— 多普勒维CA-CFAR检测之C代码实现
- 系列课程 ElasticSearch 之第 5 篇 —— Kibana 高级查询语句、DSL语言查询和过滤、中文分词器(elasticsearch.bat闪退解决办法)
- 传奇开服技术服务端各文件代表着什么意思
- oracle pl/sqp 连接 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
- 5G NR 上行调度算法流程
- vue3如何使用svg图片
- UDS-统一诊断服务
- 计算机语言面肥书籍,历年高考鉴赏诗歌语言真题汇编(教师版)
- 新概念英语学习的方法
- 第07章 图形操作 · 7.2 绘制图形(1)
- 自学DAMA-DMBOK2之对Zachman企业架构框架的解读分享
热门文章
- docker限制容器内存
- iOS 集成通联支付
- dlopen / dlsym函数(动态链接库)
- 学计算机电脑选台式还是笔记本,选台式机还是笔记本?台式机和笔记本电脑选购技巧...
- 单纯形法人工变量和松弛变量,剩余变量的区别
- 关于冗余和容错的一些总结(Redundancy and fault tolerance)
- 2psk系统的仿真课程设计matlab,通信原理课程设计-基于MATLAB-Simulink的2PSK仿真
- 基于Android的日程管理工具
- Acunetix Web Vulnerability Scanner使用指导书
- WIN8 搭建FTP服务器