Ich habe zwei Prozesse. In der Zukunft sollte man einen Websocket steuern, der andere Thread erhält Nachrichten von einem Funkmodul.Inter Multiprocessing-Kommunikation
Jetzt möchte ich einen Rückruf on_message haben, dass ich etwas über NRF senden kann.
Also habe ich ein abstraktes Experiment gemacht. aber ich kann nicht finden, Callbacks von einem anderen Prozess zurückzurufen.
import multiprocessing
from multiprocessing import Queue, Process
def main():
main_queue = Queue()
slave_queue = Queue()
main_process = multiprocessing.Process(target=Main, args=(slave_queue, main_queue))
slave_process = multiprocessing.Process(target=SlaveThread, args=(main_queue, slave_queue))
main_process.start()
slave_process.start()
main_process.join()
slave_process.join()
class SlaveThread:
def __init__(self, main_queue, slave_queue):
main_queue.put(self.callback)
while True:
slave_queue.get()()
def print_slave_thread(self):
print("SlaveThread")
def callback(self):
print("callback from Slave")
class Main:
def __init__(self, main_queue, slave_queue):
slave_queue.put(self.callback)
while True:
main_queue.get()()
def print_what_websocket_has_send(self):
print("MainThread")
def callback(self):
print("callback from Main")
if __name__ == '__main__':
main()
Leider funktioniert dieser Ansatz nicht.
Ich werde das versuchen, danke für Ihre schnelle Antwort – Ipad