42 lines
997 B
Python
42 lines
997 B
Python
import logging
|
|
import multiprocessing
|
|
|
|
from BusClient import BusClient
|
|
from nodes.Beamformer import Beamformer
|
|
from nodes.Broker import Broker
|
|
from nodes.Device import Device
|
|
from nodes.ImageCV import ImageCV
|
|
from nodes.Loader import Loader
|
|
from nodes.Robot import Robot
|
|
from nodes.WebRTC import WebRTC
|
|
from qtonly import kde_pyqt6_mainui
|
|
from utils.Msg import KillMsg
|
|
|
|
if __name__ == '__main__':
|
|
logging.basicConfig(level=logging.INFO)
|
|
multiprocessing.set_start_method('spawn')
|
|
multiprocessing.Pool()
|
|
pps = []
|
|
ps = [
|
|
Broker(),
|
|
WebRTC(),
|
|
kde_pyqt6_mainui,
|
|
Device(level=logging.DEBUG),
|
|
ImageCV(level=logging.DEBUG),
|
|
Beamformer(),
|
|
Loader(),
|
|
Robot(),
|
|
]
|
|
for p in ps:
|
|
pps.append(multiprocessing.Process(target=p))
|
|
for p in pps:
|
|
p.start()
|
|
|
|
c = BusClient(KillMsg)
|
|
while True:
|
|
x: KillMsg = c.recv()
|
|
if x.name == '':
|
|
break
|
|
for p in pps:
|
|
p.kill()
|