No more pickling objects

This commit is contained in:
Lee Miller 2024-09-08 07:02:22 +03:00
parent f8630bb2ed
commit 8d497645c9
Signed by: lee.miller
GPG Key ID: 4F97A5EA88F4AB63

View File

@ -22,7 +22,6 @@ class Manager(threading.Thread):
self.q = queue.Queue()
self.last_cleaned_objects = time.time()
self.last_cleaned_connections = time.time()
self.last_pickled_objects = time.time()
self.last_pickled_nodes = time.time()
# Publish destination 5-15 minutes after start
self.last_published_i2p_destination = \
@ -43,9 +42,6 @@ class Manager(threading.Thread):
if now - self.last_cleaned_connections > 2:
self.manage_connections()
self.last_cleaned_connections = now
# if now - self.last_pickled_objects > 100:
# self.pickle_objects()
# self.last_pickled_objects = now
if now - self.last_pickled_nodes > 60:
self.pickle_nodes()
self.last_pickled_nodes = now
@ -137,18 +133,6 @@ class Manager(threading.Thread):
@staticmethod
def load_data():
"""Loads initial nodes and data, stored in files between sessions"""
try:
with open(
os.path.join(shared.data_directory, 'objects.pickle'), 'br'
) as src:
for obj in pickle.load(src):
shared.objects[obj.vector] = obj
except FileNotFoundError:
pass # first start
except Exception:
logging.warning(
'Error while loading objects from disk.', exc_info=True)
try:
with open(
os.path.join(shared.data_directory, 'nodes.pickle'), 'br'
@ -188,18 +172,6 @@ class Manager(threading.Thread):
(row[0].encode(), 'i2p') for row in reader}
shared.i2p_node_pool.update(shared.i2p_core_nodes)
@staticmethod
def pickle_objects():
try:
with open(
os.path.join(shared.data_directory, 'objects.pickle'), 'bw'
) as dst:
with shared.objects_lock:
pickle.dump(shared.objects, dst, protocol=3)
logging.debug('Saved objects')
except Exception:
logging.warning('Error while saving objects', exc_info=True)
@staticmethod
def pickle_nodes():
if len(shared.node_pool) > 10000: