mirror of
https://github.com/tahoe-lafs/tahoe-lafs.git
synced 2024-12-19 13:07:56 +00:00
misc/cpu-watcher.tac: tolerate disk-full errors when writing the pickle, and pickle corruption from earlier disk-full errors
This commit is contained in:
parent
21d88a0cba
commit
6ec352fe92
@ -104,7 +104,7 @@ class CPUWatcher(service.MultiService, resource.Resource, Referenceable):
|
||||
resource.Resource.__init__(self)
|
||||
try:
|
||||
self.history = pickle.load(open("history.pickle", "rb"))
|
||||
except EnvironmentError:
|
||||
except:
|
||||
self.history = {}
|
||||
self.current = []
|
||||
self.observers = set()
|
||||
@ -199,8 +199,11 @@ class CPUWatcher(service.MultiService, resource.Resource, Referenceable):
|
||||
except:
|
||||
log.msg("error reading process %s (%s), ignoring" % (pid, name))
|
||||
log.err()
|
||||
pickle.dump(self.history, open("history.pickle.tmp", "wb"))
|
||||
os.rename("history.pickle.tmp", "history.pickle")
|
||||
try:
|
||||
pickle.dump(self.history, open("history.pickle.tmp", "wb"))
|
||||
os.rename("history.pickle.tmp", "history.pickle")
|
||||
except:
|
||||
pass
|
||||
for (pid, name) in processes:
|
||||
row = [name]
|
||||
for avg in self.AVERAGES:
|
||||
|
Loading…
Reference in New Issue
Block a user