mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-15 08:04:49 +01:00
recorder: catch exception in close_idle_files() if file no longer exists and ensure it's removed
This commit is contained in:
parent
594aff86d3
commit
82d3b61523
@ -376,8 +376,11 @@ class MultiFileWARCWriter(BaseWARCWriter):
|
||||
return fh
|
||||
|
||||
def _close_file(self, fh):
|
||||
fcntl.flock(fh, fcntl.LOCK_UN)
|
||||
fh.close()
|
||||
try:
|
||||
fcntl.flock(fh, fcntl.LOCK_UN)
|
||||
fh.close()
|
||||
except Exception as e:
|
||||
print(e)
|
||||
|
||||
def get_dir_key(self, params):
|
||||
return res_template(self.key_template, params)
|
||||
@ -506,8 +509,14 @@ class MultiFileWARCWriter(BaseWARCWriter):
|
||||
now = datetime.datetime.now()
|
||||
|
||||
for dir_key, out, filename in self.iter_open_files():
|
||||
mtime = os.path.getmtime(filename)
|
||||
try:
|
||||
mtime = os.path.getmtime(filename)
|
||||
except:
|
||||
self.close_key(dir_key)
|
||||
return
|
||||
|
||||
mtime = datetime.datetime.fromtimestamp(mtime)
|
||||
|
||||
if (now - mtime) > self.max_idle_time:
|
||||
print('Closing idle ' + filename)
|
||||
self.close_key(dir_key)
|
||||
|
Loading…
x
Reference in New Issue
Block a user