背景
自研一款视频合成应用,因为时间紧张,直接部署在docker 映射smb文件夹,没有操作记录,所以使用python 脚本进行对操作文件夹进行监控。
设计
- 主线程发起任务
- 一个监控线程,分别监控文件夹变化将数据记录到全局对象中
- 一个线程定时统计任务情况,将任务结果发送到飞书上通知相关人员
问题
监控的脚本,总是将一个文件变动触发两次
C:\Users\jsd12120\Desktop>python monitor.py
file created:E:\video2\zdd_1020_hc_2 - 副本.mp4
file created:E:\video2\zdd_1020_hc_2 - 副本.mp4
file modified:E:\video2\zdd_1020_hc_2 - 副本.mp4
file modified:E:\video2\zdd_1020_hc_2 - 副本.mp4
file modified:E:\video2\zdd_1020_hc_2 - 副本.mp4
file deleted:E:\video2\zdd_1020_hc_2 - 副本.mp4
file deleted:E:\video2\zdd_1020_hc_2 - 副本.mp4
后查询发现是因为挂载smb文件夹原因,本地文件夹无此问题。解决方法,因为时间比紧,所以在业务逻辑中做了处理,将每个变化/2 得到结果。