Труба не отправляет сообщения между двумя процессами - PullRequest
0 голосов
/ 15 февраля 2020

У меня есть два процесса в python с использованием библиотеки multiprocessing, которые оба указывают на функции-члены двух разных объектов и выглядят следующим образом:

 def start(self):
     # start the consumer
     conn1, conn2 = Pipe()

     p1 = Process(target=self.myClassOne.classFunction(conn1))
     p2 = Process(target=self.myClassTwo.classFunction(conn2))

     p1.start()
     p2.start()

myClassOne.classFunction выглядит как это:

for msg in array:
    pipe.send("test") 

myClassTwo.classFunction выглядит следующим образом:

while(True):
            print(pipe.recv())

Я не получаю никаких данных между двумя и я ' m определенные данные поступают в функцию classOne. Стоит отметить, что вышеприведенный «массив» на самом деле является потребителем Kafka, который заполняется сообщениями. Что мне здесь не хватает? (Содержимое этих двух функций - упрощенные примеры, предназначенные исключительно для тестирования структуры перед добавлением дополнительных логических данных c). Из myClassOneFunction поступает большое количество данных, и я хочу иметь возможность анализировать эти данные в реальном времени по мере их поступления, не прерывая процесс захвата. Есть ли лучший способ сделать это?

...