У меня есть работа над проектом над продолжительным скриптом Python без зависания или даже с ошибкой.Но память будет продолжать накапливаться, поэтому моя идея - использовать другой поток, чтобы каждые 30 секунд проверять использование свободной памяти на компьютере и сохранять информацию в файле журнала.
def cpuInfo(self):
memory = psutil.virtual_memory().free
...
time.sleep(self.timeInterval)
self.cpuInfo()
Но через несколько часов или несколько дней он столкнется с переполнением ставки.
RecursionError: maximum recursion depth exceeded in comparison
Call stack:
File "/usr/lib/python3.6/threading.py", line 884, in _bootstrap
self._bootstrap_inner()
File "/usr/lib/python3.6/threading.py", line 916, in _bootstrap_inner
self.run()
File "/usr/lib/python3.6/threading.py", line 864, in run
self._target(*self._args, **self._kwargs)
File "/home/x/memory.py", line 41, in cpuInfo
self.cpuInfo()
File "/home/x/memory.py", line 41, in cpuInfo
self.cpuInfo()
File "/home/x/memory.py", line 41, in cpuInfo
self.cpuInfo()
[Previous line repeated 976 more times]
Есть идеи решить ее или заставить ее работать бесконечно другим способом, если пользователь не прекратит его?