问题描述

监控配置文件变化,如果内容发生了修改,需要及时加载. 使用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监控文件变化出现两次事件相关推荐

  1. Python监控文件变化:watchdog

    Python监控文件变化有两种库:pyinotify和watchdog.pyinotify依赖于Linux平台的inotify,后者则对不同平台的的事件都进行了封装.也就是说,watchdog跨平台. ...

  2. delphi 监控文件变化_监控Linux文件变化,防止系统被黑

    运维服务器比较头疼的一个问题是系统被黑,沦为肉鸡或者矿机.除了加强安全基线配置,加强网络和端口加固,系统和应用bug修复,上IDS/IPS(入侵检测/防御系统)之外,另一个方面就是系统监控,一个完善准 ...

  3. 神器推荐!一个能监控文件变化的Python神器—看门狗

    假设现在有一个应用场景,需要对文件系统进行监控,发生变化时产生日志,对新增的文件做一些相应的操作. 比如说应用到我们之前的音乐高潮提取器:若当前文件夹下增加了一个音乐文件,监控器就调用音乐高潮提取器, ...

  4. rust 使用hotwatch 监控文件变化

    hotwatch是一个可以监控文件变化的crate,使用起来非常方便.参考:GitHub - francesca64/hotwatch: A Rust library for conveniently ...

  5. 服务器监控文件变化,如何使用nodejs监控文件变化并使用sftp上传到服务器

    如何使用nodejs监控文件变化并使用sftp上传到服务器 发布时间:2021-07-01 12:06:56 来源:亿速云 阅读:99 作者:小新 这篇文章主要为大家展示了"如何使用node ...

  6. node 自动上传文件到服务器,利用nodejs监控文件变化并使用sftp上传到服务器

    最近在用react+express做一个自己的工具型网站(其实就是夺宝岛抢拍器) 然后因为经常要改动,而且又要放到服务器上进行测试.总是要webpack,然后手动把文件上传上去,不胜其烦,索性搜索了下 ...

  7. FileSystemWatcher 监控文件变化

    本文测试了FileSystemWatcher 类监控文件变化. using System; using System.Security.Permissions; using System.IO;nam ...

  8. linux inotify-tools 监控文件变化

    inotify-tools 是一个用C语言库,一个为Linux提供简单inotify接口的命令行程序.这些程序可以用于监视文件系统事件并执行相应操作.这些程序是用C语言来写的,除了需要Linux内核的 ...

  9. Shell 监控文件变化

    作者:youxin 链接:https://www.cnblogs.com/youxin/p/13816303.html 文件监控可以配合rsync实现文件自动同步,例如监听某个目录,当文件变化时,使用 ...

最新文章

  1. CLion使用WSL的cmake报错解决: configure_file Problem configuring file Call Stack (most recent call first):
  2. MYSQL1130错误的解决方案
  3. JMeter3.0 post参数/BeanShell中文乱码问题
  4. How OPA addFrame is called
  5. Colemak布局的实现 Window+Linux+Android
  6. 八年开发程序员浅析SpringBoot 之 Shiro 与 Redis 多级缓存问题
  7. ❤️六W字《计算机基础知识》(三)(建议收藏)❤️
  8. argmax函数_Python 的Numpy 函数到底是个啥?看这篇就足够了
  9. 改变button中文字的对齐方式
  10. TI单芯片毫米波雷达代码走读(十八)—— 多普勒维CA-CFAR检测之C代码实现
  11. 系列课程 ElasticSearch 之第 5 篇 —— Kibana 高级查询语句、DSL语言查询和过滤、中文分词器(elasticsearch.bat闪退解决办法)
  12. 传奇开服技术服务端各文件代表着什么意思
  13. oracle pl/sqp 连接 ORA-12514 TNS 监听程序当前无法识别连接描述符中请求服务
  14. 5G NR 上行调度算法流程
  15. vue3如何使用svg图片
  16. UDS-统一诊断服务
  17. 计算机语言面肥书籍,历年高考鉴赏诗歌语言真题汇编(教师版)
  18. 新概念英语学习的方法
  19. 第07章 图形操作 · 7.2 绘制图形(1)
  20. 自学DAMA-DMBOK2之对Zachman企业架构框架的解读分享

热门文章

  1. docker限制容器内存
  2. iOS 集成通联支付
  3. dlopen / dlsym函数(动态链接库)
  4. 学计算机电脑选台式还是笔记本,选台式机还是笔记本?台式机和笔记本电脑选购技巧...
  5. 单纯形法人工变量和松弛变量,剩余变量的区别
  6. 关于冗余和容错的一些总结(Redundancy and fault tolerance)
  7. 2psk系统的仿真课程设计matlab,通信原理课程设计-基于MATLAB-Simulink的2PSK仿真
  8. 基于Android的日程管理工具
  9. Acunetix Web Vulnerability Scanner使用指导书
  10. WIN8 搭建FTP服务器