@@ -112,12 +112,25 @@ func (p *DeleteRecordTask) deleteOldestFile() {
112
112
p .Info ("deleteOldestFile" , "ready to delete oldestfile,ID" , record .ID , "create time" , record .EndTime , "filepath" , record .FilePath )
113
113
err = os .Remove (record .FilePath )
114
114
if err != nil {
115
- p .Error ("deleteOldestFile" , "delete file from disk error" , err )
116
- continue
115
+ // 检查是否为文件不存在的错误
116
+ if os .IsNotExist (err ) {
117
+ // 文件不存在,记录日志但视为删除成功
118
+ p .Warn ("deleteOldestFile" , "file does not exist, continuing with database deletion" , record .FilePath )
119
+ // 继续删除数据库记录
120
+ err = p .DB .Delete (& record ).Error
121
+ if err != nil {
122
+ p .Error ("deleteOldestFile" , "delete record from db error" , err )
123
+ }
124
+ } else {
125
+ // 其他错误,记录并跳过此记录
126
+ p .Error ("deleteOldestFile" , "delete file from disk error" , err )
127
+ continue
128
+ }
117
129
} else {
130
+ // 文件删除成功,继续删除数据库记录
118
131
err = p .DB .Delete (& record ).Error
119
132
if err != nil {
120
- p .Error ("deleteOldestFile" , "delete record from disk error" , err )
133
+ p .Error ("deleteOldestFile" , "delete record from db error" , err )
121
134
}
122
135
}
123
136
}
@@ -158,8 +171,16 @@ func (t *DeleteRecordTask) Tick(any) {
158
171
t .Info ("RecordFileExpireDays is set to auto delete oldestfile" , "ID" , record .ID , "create time" , record .EndTime , "filepath" , record .FilePath )
159
172
err = os .Remove (record .FilePath )
160
173
if err != nil {
161
- t .Error ("RecordFileExpireDays set to auto delete oldestfile" , "delete file from disk error" , err )
174
+ // 检查是否为文件不存在的错误
175
+ if os .IsNotExist (err ) {
176
+ // 文件不存在,记录日志但视为删除成功
177
+ t .Warn ("RecordFileExpireDays set to auto delete oldestfile" , "file does not exist, continuing with database deletion" , record .FilePath )
178
+ } else {
179
+ // 其他错误,记录但继续处理
180
+ t .Error ("RecordFileExpireDays set to auto delete oldestfile" , "delete file from disk error" , err )
181
+ }
162
182
}
183
+ // 无论文件是否存在,都删除数据库记录
163
184
err = t .DB .Delete (& record ).Error
164
185
if err != nil {
165
186
t .Error ("RecordFileExpireDays set to auto delete oldestfile" , "delete record from db error" , err )
0 commit comments