У меня есть программа на Python 3.7, которую я пишу, в которой есть главный сценарий a.py
, который создает экземпляр класса в другом сценарии b.py
. Я хочу, чтобы a.py
мог создавать несколько одновременных экземпляров моего класса в b.py
, но код, который я использую для вызова b.py
, кажется, порождает только один экземпляр за раз.
Код у меня выглядит так:
import b
from multithreading import Process
processes = []
while (True):
dataFiles = getFilesFromDatabase()
if len(dataFiles) > 0:
for file in dataFiles:
p = Process(target=b.class, args=(file,), name=file['name'])
p.start()
processes.append(p)
sleep(60)
Когда dataFiles
(список словарей) имеет несколько словарей, Process
создается для dataFiles[0]
, но dataFiles[1]
не запускается до тех пор, пока не завершится dataFiles[0]
. Я нигде не звоню Process.join()
, поэтому не уверен, что может быть не так. Нужно ли использовать Pool
для этого? Что-то еще мне не хватает?
Любая помощь приветствуется!