Ram K
Ram K

Reputation: 1785

parallel read a python shelve object

I want to parallelize the following for-loop that reads from a shelved python object

result = []
for k in my_keys:
    val = my_shelved_db[k]
    result.append(val)

where : my_shelved_db = shelve.open('my_file.db')

Can someone give an example how this could be done

Upvotes: 0

Views: 77

Answers (1)

misha
misha

Reputation: 122

import multiprocessing
from multiprocessing import Manager

manager = Manager()
result = manager.list()

def func(k):
    val = my_shelved_db[k]
    result.append(val)

# my_keys = range(10)

for  k in my_keys:
    process = multiprocessing.Process(target=func,args=(k,))
    process.start()


print(result)

Upvotes: 1

Related Questions