mirror of
https://github.com/webrecorder/pywb.git
synced 2025-03-24 06:59:52 +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
|
return fh
|
||||||
|
|
||||||
def _close_file(self, fh):
|
def _close_file(self, fh):
|
||||||
fcntl.flock(fh, fcntl.LOCK_UN)
|
try:
|
||||||
fh.close()
|
fcntl.flock(fh, fcntl.LOCK_UN)
|
||||||
|
fh.close()
|
||||||
|
except Exception as e:
|
||||||
|
print(e)
|
||||||
|
|
||||||
def get_dir_key(self, params):
|
def get_dir_key(self, params):
|
||||||
return res_template(self.key_template, params)
|
return res_template(self.key_template, params)
|
||||||
@ -506,8 +509,14 @@ class MultiFileWARCWriter(BaseWARCWriter):
|
|||||||
now = datetime.datetime.now()
|
now = datetime.datetime.now()
|
||||||
|
|
||||||
for dir_key, out, filename in self.iter_open_files():
|
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)
|
mtime = datetime.datetime.fromtimestamp(mtime)
|
||||||
|
|
||||||
if (now - mtime) > self.max_idle_time:
|
if (now - mtime) > self.max_idle_time:
|
||||||
print('Closing idle ' + filename)
|
print('Closing idle ' + filename)
|
||||||
self.close_key(dir_key)
|
self.close_key(dir_key)
|
||||||
|
Loading…
x
Reference in New Issue
Block a user