Source code for bi_etl.components.get_next_key.shared_table_memory_manager
import multiprocessing
from bi_etl.components.get_next_key.shared_table_memory import SharedTableMemory
if __name__ == '__main__':
main()
[docs]class SharedTableMemoryManager(object):
[docs] def __init__(self, manager):
self.table_dict = manager.dict()
[docs] def create_shared_table_memory(self, manager: multiprocessing.Manager, table_name: str, chunk_size: int):
table_name = str(table_name)
if table_name not in self.table_dict:
self.table_dict[table_name] = SharedTableMemory(manager, chunk_size=chunk_size)
return self.table_dict[table_name]
[docs] def get_shared_table_memory(self, table_name):
return self.table_dict[table_name]